home *** CD-ROM | disk | FTP | other *** search
/ Shareware Super Platinum 8 / Shareware Super Platinum 8.iso / mac / DATABASE / MAL38.ZIP;1 / FOXPRO.ZIP / MAL.MAN < prev    next >
Encoding:
Text File  |  1994-06-14  |  122.4 KB  |  3,763 lines

  1.  
  2.  
  3.  
  4.  
  5.                                        Preface
  6.  
  7.  
  8.       The dMAIL4 System is a set of programs designed to record and track a
  9.       simple mailing list database.  dMAIL4 is written in a dBASE IV
  10.       compatible language called Foxpro.
  11.  
  12.       Among the dMAIL4 System features is the ability to run in a Multi-
  13.       user environment.  It can access a customer record by either Last
  14.       Name or Zip Code.  dMAIL4 also can save/restore a range of customer
  15.       records to/from a floppy disk.
  16.  
  17.       An IBM personal computer (80386 or better) is recommended.  For
  18.       improved performance, it is highly recommended that the user obtain
  19.       at least three megabytes of extended memory.  A color monitor and a
  20.       mouse are also recommended.
  21.  
  22.       Considerable effort was expended to make the user reference manual as
  23.       complete as possible.  However, this documentation is in no way to be
  24.       considered an instructive guide to MS-DOS or Foxpro.  Many reference
  25.       texts are available on the market that explain the MS-DOS operating
  26.       system and Foxpro programming.  If you need more information, your
  27.       reference materials should include one of these texts.
  28.  
  29.       My advice is to read the contents of this user manual.  Familiarize
  30.       yourself with its information.  If you have any questions concerning
  31.       this application, feel free to write or call.
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.                                      - Page 1 -
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.                              Copyright/License/Warranty
  72.  
  73.  
  74.            This document and the program dMAIL4 ("the software") are
  75.            copyrighted by the author.  The copyright owner hereby licenses
  76.            you to use the software given these restrictions:
  77.  
  78.  
  79.            o  the program shall be supplied in its original, unmodified
  80.               form, which includes this documentation;
  81.  
  82.            o  for-profit use without a license is prohibited;
  83.  
  84.            o  the program may not be included - or bundled - with other
  85.               goods or services.  Exceptions may be granted upon written
  86.               request only.
  87.  
  88.            o  no fee is charged beyond a reasonable amount for the media
  89.               and handling ($10 maximum suggested);
  90.  
  91.  
  92.            There is no warranty of any kind.  The copyright owner may not
  93.            be held liable for any damages, including any lost profits or
  94.            other incidental or consequential damages arising out of or
  95.            inability to use the software.  By using the software, you agree
  96.            to this.
  97.  
  98.  
  99.       Shareware
  100.  
  101.            dMAIL4 is distributed as Shareware.  It is not free software.
  102.            You are free to try it and make copies for others.  If you
  103.            continue to use this application beyond a reasonable trial
  104.            period, you are required to register it with the distributor
  105.            and author.
  106.  
  107.  
  108.       ASP Ombudsman
  109.  
  110.            This program is produced by a member of the Association of
  111.            Shareware Professionals (ASP).  ASP wants to make sure that the
  112.            shareware principle works for you.  If you are unable to resolve
  113.            a shareware-related problem with an ASP member by contacting the
  114.            member directly, ASP may be able to help.  The ASP Ombudsman can
  115.            help you resolve a dispute or problem with an ASP member, but
  116.            does not provide technical support for members' products.
  117.  
  118.            Please write to the ASP Ombudsman at 545 Grover Road, Muskegon,
  119.            MI 49442-9427 USA, FAX 616-788-2765 or send a CompuServe message
  120.            via CompuServe Mail to ASP Ombudsman 70007,3536.
  121.  
  122.  
  123.  
  124.            Copyright (C) 1987 Dennis Allen.  All rights reserved.  All
  125.            trademarks mentioned herein belong to their respective owners.
  126.  
  127.  
  128.  
  129.                                      - Page 2 -
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.  
  137.                                   TABLE OF CONTENTS
  138.  
  139.  
  140.       Preface                                                    1
  141.       Copyright/License/Warranty                                 2
  142.       Introduction                                               5
  143.           Manual Content                                         5
  144.           Notation Convention                                    6
  145.       Invoking dMAIL4                                            7
  146.       Creating a dMAIL4 Record                                   8
  147.           Adding a Customer Record                              11
  148.           Creating a User Record                                13
  149.           Quit                                                  13
  150.       Printing Mailing List                                     14
  151.           Printing Mailing Labels                               14
  152.           Quit                                                  16
  153.       System Setup                                              17
  154.           Expression Builder                                    18
  155.           Printer Control Codes                                 18
  156.           Change Color Set                                      21
  157.               Customizing Color Sets                            21
  158.           Problems & Suggestions                                22
  159.           All About...                                          22
  160.           Edit User Descriptions                                22
  161.           Display/Print Manual                                  22
  162.           Quit                                                  22
  163.       Utilities                                                 23
  164.           Export Mailing List                                   23
  165.               Exporting Different Data Structures               24
  166.           Import Mailing List                                   25
  167.               Importing Different Data Structures               26
  168.               Importing SBT records                             26
  169.           Rebuilding Indices                                    27
  170.           Initializing Databases                                27
  171.           Purging Mailing List                                  27
  172.       Quit to DOS                                               28
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.                                      - Page 3 -
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.  
  203.                                   TABLE OF CONTENTS
  204.  
  205.  
  206.       Appendices                                                29
  207.           Appendix A/ Generic Editor                            29
  208.           Appendix A-1/ System Menu                             36
  209.               Sysmenu edit                                      36
  210.               Foxpro Calculator                                 36
  211.               Foxpro Calendar                                   36
  212.               Foxpro DOS Shell                                  37
  213.               Printer Eject                                     37
  214.               Video Mode                                        37
  215.               Print Mode                                        37
  216.           Appendix B/ Data Files                                38
  217.               Backup/Restore Data files                         39
  218.           Appendix C/ Error Handling                            40
  219.               Disk Space                                        40
  220.               Printer not Ready                                 40
  221.               Multi-User Errors                                 41
  222.               Syntax Error                                      41
  223.           Appendix D/ Configuring Application                   42
  224.               Foxpro Runtime Unit                               42
  225.                   FOXR.EXE                                      42
  226.                   FOXRW.EXE                                     43
  227.               CONFIG.FP                                         43
  228.                   EMS                                           44
  229.                   MEMLIMIT                                      44
  230.                   PROGWORK                                      44
  231.                   RESOURCE                                      45
  232.                   TIME                                          45
  233.               FOXPRO.INI                                        46
  234.                   DATA                                          46
  235.                   FONTNAME                                      47
  236.                   FONTSIZE                                      47
  237.                   FONTSTYLE                                     47
  238.                   INIT                                          48
  239.                   LAST                                          48
  240.                   MULT                                          48
  241.                   PROG                                          49
  242.                   RECALL                                        49
  243.                   SYSMENU                                       49
  244.                   TEMP                                          50
  245.                   TERM                                          50
  246.               FOXUSER.DBF                                       51
  247.               FOXUSER2.DBF                                      51
  248.               Printer Codes                                     52
  249.               Record Filters                                    52
  250.               Configuring Sideways                              52
  251.       Glossary                                                  53
  252.       Index                                                     56
  253.  
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.                                      - Page 4 -
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.  
  269.                                     Introduction
  270.  
  271.  
  272.       The dMAIL4 System is a set of programs designed to record and track a
  273.       simple mailing list database.  dMAIL4 is written in a dBASE IV
  274.       compatible language called Foxpro.
  275.  
  276.       Before continuing, we should explain a couple of terms.  When we
  277.       refer to an "editor", it is a program module that allows us to add,
  278.       delete, or change database records. The word "edit" means to update,
  279.       maintain, or change a database record.
  280.  
  281.       When we refer to a "window", it is a section of the screen that is
  282.       receiving output.  Windows may overlap each other on the screen.
  283.       They are characterized by a double line border and usually have some
  284.       sort of title.
  285.  
  286.       A "record filter" determines the access allowed to a database.  Only
  287.       those records, defined by a record filter, may be viewed, edited, or
  288.       printed.  Record filters are created/selected using an "expression
  289.       builder".
  290.  
  291.       Finally, when we say "DOS", we refer to the disk operating system.
  292.       It's usually MS-DOS, but could be Microsoft windows, UNIX, or even
  293.       the Macintosh OS.
  294.  
  295.       The following sections of this manual will describe all available
  296.       menu options, one at a time.  Each menu option will be illustrated.
  297.       Appendices are included to describe all the files in the dMAIL4
  298.       system, the generic operations of editors, error handling, optimizing
  299.       dMAIL4, and establishing a backup procedure.
  300.  
  301.  
  302.  
  303.  
  304.  
  305.  
  306.  
  307.  
  308.  
  309.  
  310.  
  311.  
  312.  
  313.  
  314.  
  315.  
  316.  
  317.  
  318.  
  319.  
  320.  
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327.                                      - Page 5 -
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.  
  335.                                     Introduction
  336.  
  337.  
  338.                               Notation Conventions
  339.  
  340.  
  341.       CAPITAL LETTERS
  342.  
  343.            Capital letters indicates a command.  During command entry, this
  344.            text should be entered exactly as it appears.  Unless specified,
  345.            any command may be in upper or lower-case letters.
  346.  
  347.       lower case
  348.  
  349.            Parameters to commands are usually typed in lower-case
  350.            characters.
  351.  
  352.       Ellipsis "..."
  353.  
  354.            The ellipsis represent repetition of a previous item.
  355.  
  356.       Single Key "[ ]"
  357.  
  358.            The single key command is represented by the characters "[" and
  359.            "]".
  360.  
  361.       Control keys
  362.  
  363.            Control keys are designated with a "[Ctrl]-" followed by the
  364.            name of another key (for example: [Ctrl]-[S]).  To enter a
  365.            control key, press [Ctrl] on your keyboard and, while holding it
  366.            down, press the additional key.  On some Foxpro menus, control
  367.            keys are designated with a "^" followed by the name of another
  368.            key (for example: ^[End] for [Ctrl]-[End]).
  369.  
  370.       Carriage Return
  371.  
  372.            Depending on your keyboard, the same key may be represented by
  373.            different descriptions.  For example, the carriage return may be
  374.            represented as [Enter], [Return], or [Bent arrow symbol].  For
  375.            the most part, this should not be a problem.  Make sure,
  376.            however, that you understand the function of each key so that
  377.            you understand how they appear in this manual.
  378.  
  379.       Alternate key
  380.  
  381.            On an IBM PC keyboard, alternate keys are designated with a
  382.            "[Alt]-" followed by the name of another key (for example:
  383.            [Alt]-[V]).  To enter a control key, press [Alt] on your
  384.            keyboard and, while holding it down, press the additional key.
  385.  
  386.            On a Macintosh keyboard, [Alt] is produced by holding down both
  387.            the [Ctrl] key and the [Option] key.  To produce [Alt]-[V], for
  388.            example, you must press [Ctrl], [Option], and [V] at the same
  389.            time.
  390.  
  391.  
  392.  
  393.                                      - Page 6 -
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.  
  401.                                Invoking dMAIL4 System
  402.  
  403.  
  404.       The purpose of this section is to help you get started using dMAIL4.
  405.       Your computer should be running and you should be at the DOS prompt.
  406.  
  407.       You should have already installed the dMAIL4 application and the
  408.       Foxpro runtime unit.  You should also have a functional backup
  409.       procedure (See Appendix B).  To invoke dMAIL4, at the DOS prompt,
  410.       type:
  411.  
  412.            MAL
  413.  
  414.       and press [Enter].  You should see is the following screen:
  415.  
  416.  
  417.       +--------------------------------------------------------------------+
  418.                               Mailing List, Version 03.05.00
  419.                        (c) 1987 Dennis Allen, All rights reserved
  420.       |                                                                    |
  421.        -----------------------  M A I N    M E N U -----------------------
  422.       |                                                                    |
  423.                            E - Create/Edit Mailing List
  424.       |                                                                    |
  425.                            P - Print Mailing List
  426.       |                                                                    |
  427.                            S - System Setup
  428.       |                                                                    |
  429.                            U - Utilities
  430.       |                                                                    |
  431.                            M - Change Status (Single-User)
  432.       |                                                                    |
  433.                            Q - Quit this program
  434.       |                                                                    |
  435.       |--------------------------------------------------------------------|
  436.                                 Make a selection:
  437.       +--------------------------------------------------------------------+
  438.  
  439.  
  440.       This is our initial screen.  Option 'E' allows you to create and
  441.       maintain all mailing list records.  Option 'P' will print mailing
  442.       list labels or reports.  Option 'S' allows you to change label
  443.       heights and widths.  Option 'U' contain miscellaneous options that
  444.       allow the user to maintain dMAIL4.  Option 'Q' will return you to the
  445.       DOS prompt.
  446.  
  447.       By default, dMAIL4 runs in a single-user mode.  Option 'M' is
  448.       available only in multi-user mode.  If you are running in a Multi-
  449.       user environment, you will need to configure dMAIL4 to run Multi-user
  450.       mode.  Please refer to Appendix D for more information.
  451.  
  452.       There are a couple of ways to select an option.  One way is to simply
  453.       press the highlighted key, (example: press [S] for system setup).
  454.       Another way is to press the up and down cursor keys to highlight the
  455.       desired option.  Then, by pressing [Enter], the highlighted option is
  456.       selected.
  457.  
  458.  
  459.                                      - Page 7 -
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466.  
  467.                                Invoking dMAIL4 System
  468.  
  469.  
  470.       Note:  If you have a mouse, you can move the mouse cursor to the
  471.       desired option.  Pressing the left mouse button will then select the
  472.       option.
  473.  
  474.  
  475.                              Creating Sample Records
  476.  
  477.  
  478.       First, we need to create sample data.  At the main menu, press [E].
  479.       You should see the following screen:
  480.  
  481.  
  482.       +--------------------------------------------------------------------+
  483.                           Mailing List, Version 03.05.00
  484.                     (c) 1987 Dennis Allen, All rights reserved
  485.       |                                                                    |
  486.        ----------------------  E D I T    M E N U ------------------------
  487.       |                                                                    |
  488.                           1 - Edit Mailing List
  489.                           2 - Edit User ID
  490.       |                                                                    |
  491.                           Q - Return to main menu
  492.       |                                                                    |
  493.       |--------------------------------------------------------------------|
  494.                                    Your selection:
  495.       +--------------------------------------------------------------------+
  496.  
  497.  
  498.       This is the edit menu.  Here, all components of the mailing list
  499.       system can be maintained.  Option '1' will allow you to maintain each
  500.       mailing list record.  Option '2' will allow you to maintain the user
  501.       IDs.  Option 'Q' will return you to the main menu.
  502.  
  503.       Before continuing, notice that the edit window is slightly smaller
  504.       than the main menu window.  This is a built-in feature.  This feature
  505.       allows the user to see how far he/she is into the program.  It is
  506.       intended to give the user a sense of depth.
  507.  
  508.  
  509.  
  510.  
  511.  
  512.  
  513.  
  514.  
  515.  
  516.  
  517.  
  518.  
  519.  
  520.  
  521.  
  522.  
  523.  
  524.  
  525.                                      - Page 8 -
  526.  
  527.  
  528.  
  529.  
  530.  
  531.  
  532.  
  533.                            Creating a Mailing List Record
  534.  
  535.  
  536.       Creating Mailing List records is simple.  At the edit menu, press
  537.       [1].  The following screen will appear:
  538.  
  539.  
  540.       +--------------------------------------------------------------------+
  541.                             Mailing List, Version 03.05.00
  542.                         (c) 1987 Dennis Allen, All rights reserved
  543.       |                                                                    |
  544.        --------------------------- Mailing List --------------------------
  545.        User ID:
  546.        First Name:                       Last:
  547.                   Billing                Shipping
  548.        Address 1 :
  549.        Address 2 :
  550.        City/State:
  551.        Zip Code  :
  552.        Sex:          Status:             Head of HouseHold:
  553.        Home: (  )    -                   Birth:
  554.        Work: (  )    -                   Wedding:
  555.        Soc.Sec. #:   -  -                Active Date:
  556.             [ ] MS-DOS    +------------ Message Memo -------------+
  557.             [ ] CP/M      |                                       |
  558.             [ ] TRSDOS    |                                       |
  559.                           +---------------------------------------+
  560.       |--------------------------------------------------------------------|
  561.               Toggle Index (Last Name)    Toggle Order (Ascending)
  562.               Add    Browse Delete Find   Goto   Help  Update   Quit
  563.       +--------------------------------------------------------------------+
  564.  
  565.  
  566.       This screen is typical of a generic editor used with Foxpro.  At the
  567.       bottom of the screen are all the one-character options available to
  568.       the user.
  569.  
  570.       Like the main menu, there are three ways of selecting a function.  By
  571.       direct keystroke, by the cursor keys and [Enter], or by the mouse.
  572.       Before continuing, we will briefly describe each function.
  573.  
  574.                                   Add Function
  575.  
  576.       Pressing [A] will allow you to add a record to the current database.
  577.       The cursor will be positioned on the first field in the record.
  578.       Whether adding or updating a record, there only a few keystrokes you
  579.       need to know.
  580.  
  581.       You can move the cursor from field to field using the arrow keys.
  582.       For instance, the Right arrow, the Down arrow, and the Enter key,
  583.       moves the cursor forward one field at a time.  The up arrow moves the
  584.       cursor back one field.
  585.  
  586.       Note:  If you have a mouse, you also can move from field to field.
  587.       Simply move the mouse cursor to the desired field and press the left
  588.       mouse button.
  589.  
  590.  
  591.                                      - Page 9 -
  592.  
  593.  
  594.  
  595.  
  596.  
  597.  
  598.  
  599.                            Creating a Mailing List Record
  600.  
  601.  
  602.       The [Home] key will move the cursor to the beginning of a field.  If
  603.       it is already there, [Home] will move the cursor to the first field
  604.       in the screen.  [End] will move the cursor to the end of the field.
  605.       If it is already there, [End] will move the cursor to the last field
  606.       in the screen.
  607.  
  608.       If you need more information on any field, press [F1].  If there is
  609.       help information, a help window will be displayed.  The help window
  610.       will remain until you press either [Esc] or [F10].
  611.  
  612.       Note:  If you have a mouse, move the mouse cursor to the desired
  613.       field.  Press the right mouse button, once to move to the field, and
  614.       once for the help text.
  615.  
  616.       After you have entered your data, moving the cursor beyond the last
  617.       input field on the screen tells the editor to accept the record.  You
  618.       can either use the arrow keys to move the cursor, or press [F10].
  619.       [Esc] will abort any updating, returning the screen to its original
  620.       condition.
  621.  
  622.                                  Browse Function
  623.  
  624.       Pressing [B] will invoke the Foxpro browse function.  The browse
  625.       function will display as many database records as will fit on one
  626.       screen.  You use the arrow keys to move from record to record.
  627.       Pressing [F10] will return you to the edit screen.  The browse
  628.       function is explained in more detail in Appendix A.
  629.  
  630.                                  Delete Function
  631.  
  632.       Pressing [D] will allow you to delete the currently displayed record.
  633.       You will be prompted whether you are sure.  Pressing [Y] deletes the
  634.       record from the database.
  635.  
  636.                                   Find Function
  637.  
  638.       Pressing [F] will invoke the find function.  This option is a quick
  639.       way of finding a desired record.  Since the current database is
  640.       indexed by last name, this option will prompt you for the last name,
  641.       then the first name.  Type the desired customer name, and press
  642.       [Enter].  If found, the desired customer will be displayed.  You
  643.       could then delete it, or update it.
  644.  
  645.                                   Goto Function
  646.  
  647.       Pressing [G] will create a pop-up menu.  This popup menu allows the
  648.       user to display different records in the current database.  Press [F]
  649.       for the first record in the database.  Press [L] for the last record.
  650.       Press [N] for the next record.  Press [P] for the previous record.
  651.       The goto window remains active until you press [Esc] or [Q] to quit.
  652.       The goto function is explained in more detail in Appendix A.
  653.  
  654.  
  655.  
  656.  
  657.                                      - Page 10 -
  658.  
  659.  
  660.  
  661.  
  662.  
  663.  
  664.  
  665.                            Creating a Mailing List Record
  666.  
  667.  
  668.                                   Help Function
  669.  
  670.       Pressing [H] will display a summary of commands used in the edit
  671.       menu.  Pressing any key after that returns you to the edit menu.
  672.  
  673.                               Toggle Index Function
  674.  
  675.       For a database with multiple indices, the toggle option will be
  676.       displayed.  The toggle option allows the user to change what index
  677.       will be used with the [F]ind option.  The current index is displayed
  678.       in parenthesis.
  679.  
  680.       For example, if the current index is by last name, pressing [T] will
  681.       change the current index to zip code.  Upon pressing [F], the user
  682.       will be prompted for the zip code.  Pressing [T], repeatedly, will
  683.       eventually return you to the last name index.
  684.  
  685.                               Toggle Order Function
  686.  
  687.       This option toggles the order of the current index.  The current
  688.       order is displayed in parenthesis.
  689.  
  690.       For example, if the current order is ascending, pressing [O] will
  691.       toggle the order to descending.  If the current index is by last
  692.       name, then 'ALPHA' will come after 'BETA'.  Pressing [O] again will
  693.       change the current index back to ascending.
  694.  
  695.                                  Update Function
  696.  
  697.       Pressing [U] allows you to update the currently displayed record.
  698.       Like the add function, pressing [F10] will complete the update.
  699.       Pressing [Esc] will abort the update.
  700.  
  701.                                   Quit Function
  702.  
  703.       Finally, pressing [Q] will return you the menu that invoked the
  704.       editor.  For more information on the capabilities of this type of
  705.       editor, see Appendix A.
  706.  
  707.  
  708.                             Adding a Customer Record
  709.  
  710.  
  711.       Now that you have an idea how the editor works, you can add a
  712.       customer record.  Press [A] at the option prompt.
  713.  
  714.       A customer record has a user id, first name, last name, a billing
  715.       address, and a shipping address.  There is a date of birth and an
  716.       active date field.
  717.  
  718.       The user id can define a family clan.  The last name, first name, and
  719.       date of birth determine a unique record.  The active date field is
  720.       updated every time you update the current record.
  721.  
  722.  
  723.                                      - Page 11 -
  724.  
  725.  
  726.  
  727.  
  728.  
  729.  
  730.  
  731.                            Creating a Mailing List Record
  732.  
  733.  
  734.       For our example, press [Enter] for the user id.  Type "DENNIS" and
  735.       press [Enter] for the first name.  Type "ALLEN" and press [Enter] for
  736.       the last name.
  737.  
  738.       For billing address, type:
  739.  
  740.            P.O Box 1
  741.            123 Main St
  742.            Big City , MI  48000
  743.  
  744.       ...pressing [Enter] on each address field.  When you get to the
  745.       service address, press [Ctrl]-[Home] on each address field.  For each
  746.       service address field, the corresponding billing address field will
  747.       be displayed.  This "repeat" feature should save you a lot of typing.
  748.       For more information about it, see Appendix A.
  749.  
  750.       Press [Enter] until you see the window titled "Message Memo".  This
  751.       is a memo field.  A memo field may contain any amount of text.  Type
  752.       text as desired.  Then, press [F10] to complete the memo (not the
  753.       record).
  754.  
  755.       Notice the three check boxes.  These are user-definable boxes.  Press
  756.       [Space] to toggle a check box.  Press [F10], or press [Enter] until
  757.       the cursor moves past the last input field, to complete the record.
  758.       You will be prompted for another customer record.
  759.  
  760.       Note: If you need to change the description of these boxes, use
  761.       option 'S' of the main menu.  See System Setup.
  762.  
  763.       Add other customers, if you wish.  Afterward, press [Esc] to abort
  764.       the add function.  Since we do not need to update any more customers,
  765.       press [Q] to return to the edit menu.
  766.  
  767.  
  768.  
  769.  
  770.  
  771.  
  772.  
  773.  
  774.  
  775.  
  776.  
  777.  
  778.  
  779.  
  780.  
  781.  
  782.  
  783.  
  784.  
  785.  
  786.  
  787.  
  788.  
  789.                                      - Page 12 -
  790.  
  791.  
  792.  
  793.  
  794.  
  795.  
  796.  
  797.                                Creating a User Record
  798.  
  799.  
  800.       At the edit menu, we also can edit the user database.  The user
  801.       database ensures that only valid user IDs are typed in the customer
  802.       editor.  At the edit menu, press [2].  You should see the following
  803.       screen:
  804.  
  805.  
  806.       +--------------------------------------------------------------------+
  807.                             Mailing List, Version 03.05.00
  808.                         (c) 1987 Dennis Allen, All rights reserved
  809.       |                                                                    |
  810.        ------------------------ User ID Editor ---------------------------
  811.       |                                                                    |
  812.                       User ID:
  813.       |                                                                    |
  814.       |                                                                    |
  815.       |--------------------------------------------------------------------|
  816.                                          Toggle Order (Ascending)
  817.              Add    Browse Delete Find   Goto   Help  Update   Quit
  818.       +--------------------------------------------------------------------+
  819.  
  820.  
  821.       The edit functions are exactly the same as in the mailing list
  822.       editor.  Use this editor to add a user id.  Since we do not, press
  823.       [Q] to return to the edit menu.
  824.  
  825.  
  826.                                       Quit
  827.  
  828.  
  829.       Well, that's all you need to know about the edit menu.  Later, you
  830.       can experiment with finding, deleting, and updating records.  For
  831.       now, simply press [Q] to return to the main menu.
  832.  
  833.  
  834.  
  835.  
  836.  
  837.  
  838.  
  839.  
  840.  
  841.  
  842.  
  843.  
  844.  
  845.  
  846.  
  847.  
  848.  
  849.  
  850.  
  851.  
  852.  
  853.  
  854.  
  855.                                      - Page 13 -
  856.  
  857.  
  858.  
  859.  
  860.  
  861.  
  862.  
  863.                                  Print Mailing List
  864.  
  865.  
  866.       In the first half of this manual we learned how to create a mailing
  867.       list record.  Now we are going to learn how to print mailing labels.
  868.  
  869.       From the previous examples, you should now be at the main menu.  We
  870.       will be printing a record, so make sure your printer is connected and
  871.       on-line.  If not, you may wish to skip this section.  If your printer
  872.       is ready, press [P].  You should see the following screen:
  873.  
  874.  
  875.       +--------------------------------------------------------------------+
  876.                            Mailing List, Version 03.05.00
  877.                       (c) 1987 Dennis Allen, All rights reserved
  878.       |                                                                    |
  879.        ------------------------- P R I N T    M E N U --------------------
  880.       |                                                                    |
  881.                            1 - Print Mailing Labels
  882.                            2 - Print 132 Column Report
  883.                            3 - Print Phone Listing
  884.       |                                                                    |
  885.                            Q - Return to main menu
  886.       |                                                                    |
  887.       |                                                                    |
  888.       |--------------------------------------------------------------------|
  889.                                    Your selection:
  890.       +--------------------------------------------------------------------+
  891.  
  892.  
  893.       The menu is simple and self-explanatory.  Option '1' allows you to
  894.       print mailing labels up to 5 addresses across.  Option '2' will print
  895.       a standard 132 column report.    Option '3' will print a standard 80
  896.       column report.  Option 'Q' will return you to the main menu.
  897.  
  898.  
  899.                              Printing Mailing Labels
  900.  
  901.  
  902.       Option '1', of the print menu, introduces the concept of the option
  903.       grid.  At the print menu, press [1].  You should see the following
  904.       screen:
  905.  
  906.  
  907.  
  908.  
  909.  
  910.  
  911.  
  912.  
  913.  
  914.  
  915.  
  916.  
  917.  
  918.  
  919.  
  920.  
  921.                                      - Page 14 -
  922.  
  923.  
  924.  
  925.  
  926.  
  927.  
  928.  
  929.                                  Print Mailing List
  930.  
  931.  
  932.       +--------------------------------------------------------------------+
  933.                           Mailing List, Version 03.05.00
  934.                     (c) 1987 Dennis Allen, All rights reserved
  935.       |                                                                    |
  936.        ---------------------- Mailing Labels --------------------------
  937.       |                                                                    |
  938.        User ID:
  939.        First Name:                       Last:
  940.       |                                                                    |
  941.        Address 1 :                       Address Type:
  942.        Address 2 :
  943.        City/State:
  944.        Zip Code  :
  945.        Sex:          Status:             Head of HouseHold:
  946.        Home: (  )    -                   Birth      :   /  /    /  /
  947.        Work: (  )    -                   Wedding    :   /  /    /  /
  948.        Soc.Sec. #:   -  -                Active Date:   /  /    /  /
  949.             [ ] MS-DOS    +------------ Message Memo -------------+
  950.             [ ] CP/M      |                                       |
  951.             [ ] TRSDOS    |                                       |
  952.                           +---------------------------------------+
  953.             Index File:                    Order:
  954.       |--------------------------------------------------------------------|
  955.                   Print   Screen    Help   Update    Quit
  956.       +--------------------------------------------------------------------+
  957.  
  958.  
  959.       You are given an option grid.  The option grid will look like the
  960.       dMAIL4 edit window.  The option grid prompts will determine what
  961.       records will be printed and in what order.  For example, specifying
  962.       "MI" for state will print all customers within the state of Michigan.
  963.  
  964.       Most fields provide this wild-carding technique.  Exceptions are the
  965.       date fields.  The date fields provide beginning and/or ending dates.
  966.  
  967.       For example:  An active date of "01/01/91" will print only those
  968.       customers that have been active since January 1, 1991.  An active
  969.       date range of "01/01/91" to "12/31/93" will print those customers
  970.       that have been active in the years 1991, 1992, and 1993.
  971.  
  972.       The address type field is useful for those reports that can print
  973.       either the billing or the shipping addres, but not both.  Specifying
  974.       an address type of "S", for example, prints only shipping addresses.
  975.  
  976.       The message window can be very useful.  This is not a memo window,
  977.       but allows you to search the memo window.  For example, typing "Hi
  978.       there" and pressing [Enter] will search all records for a memo that
  979.       contains "Hi there".  To continue, typing "Hello" and pressing
  980.       [Enter] will include "hi there" or "hello" in the search.
  981.  
  982.       Note:  In a text window, you need to use [Tab] or [Shift]-[Tab] to
  983.       exit.
  984.  
  985.  
  986.  
  987.                                      - Page 15 -
  988.  
  989.  
  990.  
  991.  
  992.  
  993.  
  994.  
  995.                                  Print Mailing List
  996.  
  997.  
  998.       From this option grid, you are also allowed to select the index file
  999.       and index order.  These field are the push button equivalent to the
  1000.       toggle index/toggle order found in the mailing list editor.
  1001.  
  1002.       Press [F10] to complete the option grid.  You will be given a menu of
  1003.       choices, depending on the report.  You can press [U] to update the
  1004.       option grid.  You can press [H] for help, or press [Q] to quit to the
  1005.       print menu.
  1006.  
  1007.       Pressing [S] for screen mode, or [P] for print mode, will start
  1008.       creating a print file.  During this operation, you can abort by
  1009.       pressing [Esc].
  1010.  
  1011.       If you pressed [S], you will see the report displayed upon the
  1012.       screen.  Press [Pgup] or [Pgdn] to view the report.  Press [Esc] or
  1013.       [F10] to return to the option grid.
  1014.  
  1015.       Pressing [P] will copy the report to the printer.  When you are
  1016.       finished, press [Q] to return to the print menu.
  1017.  
  1018.       Note:  If you need to adjust the printer device, printer controls,
  1019.       label widths, or label lengths, use option S of the main menu.  See
  1020.       System setup.
  1021.  
  1022.  
  1023.                                       Quit
  1024.  
  1025.  
  1026.       Options '2' and '3' of the print menu all provide the same prompts as
  1027.       option '1'.  When you have experimented enough, press [Q] at the
  1028.       print menu to return to the main menu.
  1029.  
  1030.  
  1031.  
  1032.  
  1033.  
  1034.  
  1035.  
  1036.  
  1037.  
  1038.  
  1039.  
  1040.  
  1041.  
  1042.  
  1043.  
  1044.  
  1045.  
  1046.  
  1047.  
  1048.  
  1049.  
  1050.  
  1051.  
  1052.  
  1053.                                      - Page 16 -
  1054.  
  1055.  
  1056.  
  1057.  
  1058.  
  1059.  
  1060.  
  1061.                                     System Setup
  1062.  
  1063.  
  1064.       Option 'S' of the main menu offers several facilities.  Among them,
  1065.       the ability to change printer control codes.  Upon pressing [S] at
  1066.       the main menu, you should see the following:
  1067.  
  1068.  
  1069.       +--------------------------------------------------------------------+
  1070.                               Mailing List, Version 03.05.00
  1071.                        (c) 1987 Dennis Allen, All rights reserved
  1072.       |                                                                    |
  1073.        -------------------  S Y S T E M   S E T U P  ---------------------
  1074.       |                                                                    |
  1075.                            1 - Edit Expression Builder
  1076.                            2 - Edit Printer Control Codes
  1077.                            3 - Change Color Set
  1078.                            4 - Problems & Suggestions
  1079.                            5 - All about...
  1080.                            6 - Edit User Descriptions
  1081.       |                                                                    |
  1082.                            M - Display/Print Manual
  1083.       |                                                                    |
  1084.                            Q - Quit this Menu
  1085.       |                                                                    |
  1086.       |--------------------------------------------------------------------|
  1087.                                  Your selection:
  1088.       +--------------------------------------------------------------------+
  1089.  
  1090.  
  1091.       Option '1' will invoke the expression builder.  The expression
  1092.       builder creates a record filter.  A record filter defines those
  1093.       records that can be viewed, edited, and printed.
  1094.  
  1095.       Option '2' allows you to change printer control codes.  It also
  1096.       allows you to change mailing label dimensions.
  1097.  
  1098.       Option '3' will allow you to change the current color set.  If you
  1099.       don't like the colors used by dMAIL4, this option lets you change
  1100.       them.
  1101.  
  1102.       Option '4' will allow you to leave a message to the application
  1103.       author.  Messages can point out a problem or can offer a suggestion.
  1104.  
  1105.       Option '5' will display status information about this application.
  1106.       What version of Foxpro is running and about much memory is available.
  1107.  
  1108.       Option '6' allows you to define the check boxes used in the mailing
  1109.       list editor.
  1110.  
  1111.       Option 'M' allows you to display and/or print the user manual.
  1112.       Option 'Q' returns you to the main menu.
  1113.  
  1114.  
  1115.  
  1116.  
  1117.  
  1118.  
  1119.                                      - Page 17 -
  1120.  
  1121.  
  1122.  
  1123.  
  1124.  
  1125.  
  1126.  
  1127.                                     System Setup
  1128.  
  1129.  
  1130.                                Expression Builder
  1131.  
  1132.  
  1133.       The expression builder allows you to select a record filter from a
  1134.       list of record filters.  A record filter defines those records in a
  1135.       database that can be viewed, edited, or printed.  The record filter
  1136.       is in effect only while your application is running.  Filters can be
  1137.       redefined as often as desired.
  1138.  
  1139.       At the system setup menu, press [1].  Upon entry, you are given a
  1140.       list of existing record filters.  Chose an existing filter.  For
  1141.       example, move the cursor to the filter named "Head of Household".
  1142.       Press [Enter].  The filter "Head of Household" is now active and will
  1143.       allow you to view only people having been marked "Y" as head of
  1144.       household.
  1145.  
  1146.       You also might want to create a record filter.  At the system setup
  1147.       menu, press [1].  Press [F10] for the menu and press "N" to create an
  1148.       expression.  Enter "Singles" for the name of your expression.  You
  1149.       will be given a choice of the custom expression builder, or the
  1150.       Foxpro expression builder.  Unless you know how to use the Foxpro
  1151.       expression builder, select the custom builder.
  1152.  
  1153.       You will be given a popup list of available field names.  Select the
  1154.       field "Status".  The next popup will display the action that can be
  1155.       taken on "Status".  Select the popup "Contains".  Now you will be
  1156.       prompted for a character string.  Type "S" and press [Enter].
  1157.  
  1158.       The record filter is displayed.  You may add, delete, or edit phrases
  1159.       in the expression.  But just press [F10] to accept the current one.
  1160.  
  1161.       That's all there is to it!  You've created a filter that views only
  1162.       single people.  Press [Enter] to select the filter.  You will be
  1163.       returned to the system setup menu.  If you don't want to use this
  1164.       filter, simply return to the expression builder and press [Esc] to
  1165.       abort.
  1166.  
  1167.       Note:  If you are running on a network, see Appendix D:  Record
  1168.       filters.
  1169.  
  1170.  
  1171.                               Printer Control Codes
  1172.  
  1173.  
  1174.       At the setup menu, press [2].  The following screen will be
  1175.       displayed:
  1176.  
  1177.  
  1178.  
  1179.  
  1180.  
  1181.  
  1182.  
  1183.  
  1184.  
  1185.                                      - Page 18 -
  1186.  
  1187.  
  1188.  
  1189.  
  1190.  
  1191.  
  1192.  
  1193.                                     System Setup
  1194.  
  1195.  
  1196.       +--------------------------------------------------------------------+
  1197.                            Mailing List, Version 03.05.00
  1198.                       (c) 1987 Dennis Allen, All rights reserved
  1199.       |                                                                    |
  1200.        --------------------- S Y S T E M   S E T U P ---------------------
  1201.       |                                                                    |
  1202.                      Printer Name         : Default
  1203.                      Printer Device       : PRN
  1204.                      Printer Default      : CHR(27)+"@"
  1205.                      Printer 10 cpi       :
  1206.                      Printer 12 cpi       :
  1207.                      Printer Condense On  :
  1208.                      Printer Bold      On :
  1209.                      Printer Bold      Off:
  1210.                      Printer Underline On :
  1211.                      Printer Underline Off:
  1212.       |                                                                    |
  1213.                      Number of Straight Lines/Page:
  1214.                      Number of Sideways Lines/Page:
  1215.       |                                                                    |
  1216.                      Print in Draft mode?
  1217.       |--------------------------------------------------------------------|
  1218.                Press [ESC] to abort and return to main menu...
  1219.       +--------------------------------------------------------------------+
  1220.  
  1221.                                   Printer Name
  1222.  
  1223.  
  1224.       The printer name is simply identifies the current configuration.  If
  1225.       the database P_CODES.DBF is available, you may press [F1] for a list
  1226.       of all available printers.  A selection changes all printer codes to
  1227.       the selected printer.  Press [F10] to complete the screen.
  1228.  
  1229.                                  Printer Device
  1230.  
  1231.       The printer device defines where output is to be sent.  Typically,
  1232.       you would use LPT1 or LPT2.  In the Multi-user environment, this
  1233.       option also allows you to define the network spooler.
  1234.  
  1235.  
  1236.  
  1237.  
  1238.  
  1239.  
  1240.  
  1241.  
  1242.  
  1243.  
  1244.  
  1245.  
  1246.  
  1247.  
  1248.  
  1249.  
  1250.  
  1251.                                      - Page 19 -
  1252.  
  1253.  
  1254.  
  1255.  
  1256.  
  1257.  
  1258.  
  1259.                                     System Setup
  1260.  
  1261.  
  1262.                                   Printer Codes
  1263.  
  1264.       If you have an 80 column printer, define the control codes required
  1265.       by your printer to invoke compressed printing.  These control codes
  1266.       are sometimes referred to as 16.7 or 17 characters per inch.  Also
  1267.       define the control codes required to cancel condensed printing.
  1268.       These control codes are sometimes referred to as the default.  dMAIL4
  1269.       will use these codes for reports normally requiring a 132 column
  1270.       printer.  Printer control codes are specified with dBASE expressions
  1271.       such as:
  1272.  
  1273.       CHR(27) + CHR(64)
  1274.  
  1275.       or:
  1276.  
  1277.  
  1278.       CHR(27) + '@'
  1279.  
  1280.       In general, most printer manuals give printer control strings as
  1281.       BASIC programming statements using the BASIC function CHR$().  The
  1282.       dBASE CHR() function is identical, so simply removing the "$" sign
  1283.       from the examples in your printer manual should do the job.
  1284.  
  1285.       Note:  If you press [F1], you will see a browse popup of available
  1286.       printers.  Simply select your printer and press [Enter].  All printer
  1287.       codes will be converted to the selected printer.
  1288.  
  1289.                              Straight lines per page
  1290.  
  1291.       To this day, there are some printers that do not accept form feeds.
  1292.       So rather than asking for form feed code, dMAIL4 asks for the number
  1293.       of lines per page.  Most printers use 66 lines.  Laser printers
  1294.       usually need 57 lines.
  1295.  
  1296.                                     Sideways
  1297.  
  1298.       It is sometimes necessary to print large reports using a sideways
  1299.       print utility.  So in case it is ever needed, the system setup
  1300.       prompts for the number of lines to print sideways.  For an 80 column
  1301.       printer, use 53 lines. For a 132 column printer, use 90 lines.
  1302.  
  1303.                                    Draft mode
  1304.  
  1305.       A report option grid creates a report file.  From the option grid,
  1306.       there are two ways to print this file:  Regular mode and draft mode.
  1307.       In regular mode the report file is read and printed, one line at a
  1308.       time.  The user may press [Esc] to abort.  If the printer becomes
  1309.       off-line, the user can usually restart at the point of interruption.
  1310.  
  1311.       In draft mode, the report file is copied directly to the print
  1312.       device.  In MS-DOS windows, draft mode will bypass the print spooler.
  1313.       Draft mode, however, does not allow the user to press [Esc] or nor
  1314.       does it allow the user to restart a print job.
  1315.  
  1316.  
  1317.                                      - Page 20 -
  1318.  
  1319.  
  1320.  
  1321.  
  1322.  
  1323.  
  1324.  
  1325.                                     System Setup
  1326.  
  1327.  
  1328.       The mode you use depend on your needs.  Regular mode is the most
  1329.       reliable method.  Under MS-DOS windows, draft mode is the quickest.
  1330.  
  1331.                                  Mailing Labels
  1332.  
  1333.       Press [F10].  After the initial setup screen, you are prompted for
  1334.       Mailing Label information.  That is, label width, number of columns
  1335.       between labels, and number of rows between labels.  The column width
  1336.       determines the number of characters allowed for each label.  Pressing
  1337.       [F10] completes the screen and returns you to the system menu.
  1338.  
  1339.  
  1340.                                 Change Color Set
  1341.  
  1342.  
  1343.       A Foxpro color set defines all color attributes used by this
  1344.       application.  Upon pressing [3] at the system setup, a popup menu
  1345.       will display all the different color sets available.  These color
  1346.       sets reside within the Foxpro resource file (FOXUSER.DBF).  Use the
  1347.       cursor keys to highlight the desired color set.  Then, select by
  1348.       pressing [Enter].
  1349.  
  1350.                              Customizing Color Sets
  1351.  
  1352.  
  1353.       A new feature has been added to the color selector.  The user now has
  1354.       the ability to customize colors.  Once a color has been selected, the
  1355.       color selector will search for a second Foxpro resource file
  1356.       (FOXUSER2.DBF).  In this file, color sets are stored in ASCII text
  1357.       format.
  1358.  
  1359.       If you are a system administrator, you will be prompted whether to
  1360.       edit the ASCII text of your selected color set.  The text layout is
  1361.       simple.  Twelve lines for the twelve color schemes used by this
  1362.       application.  Each line contain ten color pairs.  A color pair
  1363.       "W*/B+", for example, would denote a white foreground, blue
  1364.       background ("*" denotes blinking and "+" denotes intensity).  For a
  1365.       description of color pairs used within a scheme, check the color
  1366.       picker portion of the Foxpro manual.
  1367.  
  1368.       Experiment with different color sets.  Note that the top of the
  1369.       screen may not change color until you exit and reenter the
  1370.       application.  Be warned, however.  The color set becomes permanent
  1371.       until the next time you select a different color.
  1372.  
  1373.       Note:  The second Foxpro resource file can only be created and edited
  1374.       by the system administrator.
  1375.  
  1376.  
  1377.  
  1378.  
  1379.  
  1380.  
  1381.  
  1382.  
  1383.                                      - Page 21 -
  1384.  
  1385.  
  1386.  
  1387.  
  1388.  
  1389.  
  1390.  
  1391.                                     System Setup
  1392.  
  1393.  
  1394.                              Problems & Suggestions
  1395.  
  1396.  
  1397.       Upon pressing [4], you will be presented with a memo window.  Type
  1398.       any message you wish to leave the application programmer.  Press
  1399.       [F10] to complete the message, or [Esc] to abort.  Your message will
  1400.       be placed in the Foxpro error file (FOXERR.DBF).
  1401.  
  1402.       If you have already created messages, you may wish to modify them.  A
  1403.       browse, indicating the date and time of each message, will be
  1404.       displayed.  Select the desired message record.  Then, press [Ctrl]-
  1405.       [Pgdn] to expand the message window.
  1406.  
  1407.  
  1408.                                   All About...
  1409.  
  1410.  
  1411.       Option '5', of the system menu, will display status information about
  1412.       this application.  What version of Foxpro is running, about much
  1413.       memory is available, and the different kinds of application modes
  1414.       (Multi-user, debug, system administration).  This option will also
  1415.       tell you how the various data paths are defined.
  1416.  
  1417.  
  1418.                              Edit User Descriptions
  1419.  
  1420.  
  1421.  
  1422.       Option '6', of the system menu, allows you to define the check boxes
  1423.       that appear in the mailing list editor and the mailing list option
  1424.       grids.  You may also define the message text that appears when you
  1425.       update a check box.
  1426.  
  1427.  
  1428.                               Display/Print Manual
  1429.  
  1430.  
  1431.  
  1432.       Option 'M', of the system menu, will display the user manual.  You
  1433.       may use [PgUp] or [PgDn] to view various pages.  You may print the
  1434.       entire user manual by pressing [Alt]-P].  Press [Esc] to return to
  1435.       the system setup menu.
  1436.  
  1437.  
  1438.                                       Quit
  1439.  
  1440.  
  1441.       Before leaving the system setup menu, a reminder.  Record filters
  1442.       remain in effect only for the duration of the application.  Color
  1443.       sets and printer control codes, on the other hand, are permanent.
  1444.       When you have experimented enough, press [Q] at the system setup menu
  1445.       to return to the main menu.
  1446.  
  1447.  
  1448.  
  1449.                                      - Page 22 -
  1450.  
  1451.  
  1452.  
  1453.  
  1454.  
  1455.  
  1456.  
  1457.                                       Utilities
  1458.  
  1459.  
  1460.       Option 'U' of the main menu provides the miscellaneous options needed
  1461.       to maintain the mailing list system.  Upon pressing [U] at the main
  1462.       menu, you should see the following:
  1463.  
  1464.  
  1465.       +--------------------------------------------------------------------+
  1466.                               Mailing List, Version 03.05.00
  1467.                        (c) 1987 Dennis Allen, All rights reserved
  1468.       |                                                                    |
  1469.        -------------------  U T I L I T Y    M E N U ---------------------
  1470.       |                                                                    |
  1471.                            1 - Export Mailing List
  1472.                            2 - Import Mailing List
  1473.       |                                                                    |
  1474.                            A - Rebuild indices
  1475.                            B - Initialize Databases
  1476.                            C - Purging Mailing List
  1477.       |                                                                    |
  1478.                            Q - Quit this Menu
  1479.       |                                                                    |
  1480.       |--------------------------------------------------------------------|
  1481.                                  Your selection:
  1482.       +--------------------------------------------------------------------+
  1483.  
  1484.  
  1485.       Option '1' will export mailing list records to a variety of file
  1486.       formats.  Option '2' will import mailing list records from a variety
  1487.       of file formats, including any created by option '1'.
  1488.  
  1489.       Option 'A' reconstructs all system indices in the event of a crash or
  1490.       other strange system behavior.  Option 'A' also removes deleted
  1491.       records, thereby reclaiming disk space.
  1492.  
  1493.       Option 'B' will allow you to reset any or all database files in the
  1494.       dMAIL4 system.  Option 'C' will allow you to delete specified records
  1495.       from the mailing list database.  Option 'Q' will return you to the
  1496.       main menu.
  1497.  
  1498.       Note:  Options 'A', 'B', and 'C' are available only in single-user
  1499.       mode.  Options 'B' and 'C' are only available to the system
  1500.       administrator.  See Appendix D.
  1501.  
  1502.  
  1503.                                Export Mailing List
  1504.  
  1505.  
  1506.       We will discuss how to transfer records between two single-user
  1507.       computers.  Once you understand it, the process is simple.  Say, for
  1508.       example, we wish to transfer our mailing list to another computer.
  1509.       Assuming the other computer is also running the dMAIL4 system, press
  1510.       [1] at the utility menu.  You will be given a selection of file
  1511.       formats.  For our example, select '1' for the foxbase plus format.
  1512.  
  1513.  
  1514.  
  1515.                                      - Page 23 -
  1516.  
  1517.  
  1518.  
  1519.  
  1520.  
  1521.  
  1522.  
  1523.                                       Utilities
  1524.  
  1525.  
  1526.       You will be given the option grid.  The same option grid available in
  1527.       option "1" of the print menu.  Complete the grid and press [F10].
  1528.       You will be given several choices.  You can press [U] to update the
  1529.       option grid, [Q] to quit, or [C] to continue.  For our sample, press
  1530.       [C] to continue.
  1531.  
  1532.       A temporary file is created, containing our selected records.  You
  1533.       will then be prompted for the export file name.  Type 'A:TEMP.DBF'
  1534.       and press [Enter].  Since the file name contains 'A:' (or 'B:'), you
  1535.       will be prompted whether to format the floppy.  Insert your disk into
  1536.       'A' drive, and press 'Y'.  It takes a few moments to format the
  1537.       floppy and transfer the mailing list records onto it.  You will be
  1538.       returned to the utility menu.
  1539.  
  1540.       Note:  Be careful.  The size of the floppy disk limits us to how many
  1541.       records can be transferred at one time.
  1542.  
  1543.  
  1544.                        Exporting Different Data Structures
  1545.  
  1546.  
  1547.       Recently, I've added the ability to export files with different data
  1548.       structures.  Select 'Foxpro DBF File' from the list of export file
  1549.       formats.
  1550.  
  1551.       After entering the option grid and the export file name, you will be
  1552.       given a popup of all the field names in the export database.  Select
  1553.       the one you need and press [Enter].  You may then enter the correct
  1554.       field or field phrase from the mailing list file.  You may repeat
  1555.       these prompts as often as desired, until you select the empty field.
  1556.  
  1557.       For example, I used the following to convert the mailing list to my
  1558.       local astronomy club database:
  1559.  
  1560.  
  1561.            REPLACE:  FIRST_NAME     WITH:     FIRST
  1562.            REPLACE:  LAST_NAME      WITH:     LAST
  1563.            REPLACE:  ADDRESS        WITH:     ADDR_1
  1564.            REPLACE:  PHONE          WITH:     SUBSTR(HOME,7)
  1565.            REPLACE:  COMMENTS       WITH:     MESS
  1566.            REPLACE:  STATUS  WITH:  IIF(BOL_1,'m','')+IIF(BOL_2,'i','')
  1567.  
  1568.  
  1569.       Please note that all common field names, such as 'CITY' or 'ZIP', did
  1570.       not need to be specified.
  1571.  
  1572.  
  1573.  
  1574.  
  1575.  
  1576.  
  1577.  
  1578.  
  1579.  
  1580.  
  1581.                                      - Page 24 -
  1582.  
  1583.  
  1584.  
  1585.  
  1586.  
  1587.  
  1588.  
  1589.                                       Utilities
  1590.  
  1591.  
  1592.                                Import Mailing List
  1593.  
  1594.  
  1595.       Once the diskette is made, remove it from 'A' drive and take it to
  1596.       the other computer.  Insert the floppy in the other computer's drive
  1597.       A and close the door.  Make sure the dMAIL4 system is running on that
  1598.       machine and that you are at the utility menu.  To read that database
  1599.       off the diskette, simply press [2] at the utility menu.  You will be
  1600.       given a selection of file formats.  For our example, select '1' for
  1601.       the Foxbase Plus.
  1602.  
  1603.       You will be prompted for the file name.  Type 'A:TEMP.DBF' and press
  1604.       [Enter].  A temporary file is created.  It takes a few moments to
  1605.       transfer records from the floppy to the temporary file.
  1606.  
  1607.       You will be given the option grid.  The same option grid available in
  1608.       option "1" of the print menu.  Complete the grid and press [F10].
  1609.       You will be given several choices.  You can press [U] to update the
  1610.       option grid, [Q] to quit, or [C] to continue.  For our sample, press
  1611.       [C] to continue.
  1612.  
  1613.       Only those records, meeting the option grid, will be transferred from
  1614.       the temporary file.  If there are any duplicate records, only the
  1615.       most recent records will be appended.  You will be returned to the
  1616.       utility menu.
  1617.  
  1618.       Note:  When all records have been transferred, remove the floppy
  1619.       disk.  It is always a good practice to remove the floppy diskette
  1620.       when not in use.
  1621.  
  1622.  
  1623.  
  1624.  
  1625.  
  1626.  
  1627.  
  1628.  
  1629.  
  1630.  
  1631.  
  1632.  
  1633.  
  1634.  
  1635.  
  1636.  
  1637.  
  1638.  
  1639.  
  1640.  
  1641.  
  1642.  
  1643.  
  1644.  
  1645.  
  1646.  
  1647.                                      - Page 25 -
  1648.  
  1649.  
  1650.  
  1651.  
  1652.  
  1653.  
  1654.  
  1655.                                       Utilities
  1656.  
  1657.  
  1658.                        Importing Different Data Structures
  1659.  
  1660.  
  1661.       Recently, I've added the ability to import files with different data
  1662.       structures.  Select 'Foxpro DBF File' from the list of import file
  1663.       formats.
  1664.  
  1665.       After entering the import file name, you will be given a popup of all
  1666.       the field names in the mailing list database.  Select the one you
  1667.       need and press [Enter].  You may then enter the correct field or
  1668.       field phrase from the import file.  You may repeat these prompts as
  1669.       often as desired, until you select the empty field.
  1670.  
  1671.       For example, the import file may have a first name field called
  1672.       'FNAME'.  You would, therefore, select the dMAIL4 field 'FIRST'.
  1673.       Then you type the field phrase 'FNAME'.  The field phrase can be a
  1674.       combination of field names or dbase expressions.  I, myself, used the
  1675.       following to convert my local astronomy club database to dMAIL4:
  1676.  
  1677.  
  1678.            REPLACE:  FIRST          WITH:     FIRST_NAME
  1679.            REPLACE:  LAST           WITH:     LAST_NAME
  1680.            REPLACE:  ADDR_1         WITH:     ADDRESS
  1681.            REPLACE:  MESS           WITH:     COMMENTS
  1682.            REPLACE:  HOME           WITH:     '(616) '+PHONE
  1683.            REPLACE   ACT_DATE       WITH:     DATE()
  1684.            REPLACE   BOL_1          WITH:     'm'$STATUS
  1685.            REPLACE   BOL_2          WITH:     'i'$STATUS
  1686.            REPLACE:  STATUS         WITH:     ''
  1687.  
  1688.  
  1689.       Please note that all common field names, such as 'CITY' or 'ZIP', did
  1690.       not need to be specified.  Also note that I converted the import
  1691.       field 'STATUS' to the dMAIL4 check boxes.  Yet, I kept the dMAIL4
  1692.       'STATUS' field from obtaining values from the import field 'STATUS'.
  1693.  
  1694.  
  1695.                               Importing SBT Records
  1696.  
  1697.  
  1698.       The import procedure now has the ability to import customer records
  1699.       from SBT Receivables.  If any check boxes are defined as 'Employee',
  1700.       then any imported employee record will have it's check box marked.
  1701.  
  1702.       The import procedure has the ability to import vendor records from
  1703.       SBT Payables.  If any check boxes are defined as 'Vendor', then any
  1704.       imported vendor record will have it's check box marked.
  1705.  
  1706.       This procedure also has the ability to import employee records from
  1707.       SBT Payroll.  If any check boxes are defined as 'Employee', then any
  1708.       imported employee record will have it's check box marked.  Only
  1709.       active employees are imported.
  1710.  
  1711.  
  1712.  
  1713.                                      - Page 26 -
  1714.  
  1715.  
  1716.  
  1717.  
  1718.  
  1719.  
  1720.  
  1721.                                       Utilities
  1722.  
  1723.  
  1724.                                Rebuilding Indices
  1725.  
  1726.  
  1727.       Option 'A' of the utility menu will reconstruct all system indices in
  1728.       the event of a crash or other strange system behavior.  You will be
  1729.       prompted whether to continue.  Upon pressing [Y], all indices will be
  1730.       rebuilt.  Option 'A' also removes deleted records, thereby reclaiming
  1731.       disk space.  You will then be returned to the utility menu1.
  1732.  
  1733.  
  1734.                              Initializing Databases
  1735.  
  1736.  
  1737.       Option 'B' of the utility menu will allow you to "reset" any or all
  1738.       database files in the dMAIL4 system by removing all data from them.
  1739.       You probably will want to use this option after completing the sample
  1740.       entries and exercises in this manual, so you can begin fresh with
  1741.       "real" data.
  1742.  
  1743.       Upon press [B] at the utility menu, you will be prompted whether to
  1744.       reset each database file, one at a time.  You will then be returned
  1745.       to the utility menu2.
  1746.  
  1747.  
  1748.                               Purging Mailing List
  1749.  
  1750.  
  1751.       Option 'C' of the utility menu allows you to delete specified mailing
  1752.       list records.  You will be given the option grid.  The same option
  1753.       grid available in option "1" of the utility menu.  Complete the grid
  1754.       and press [F10].  You will be given several choices.  You can press
  1755.       [U] to update the option grid, [Q] to quit, or [C] to continue.
  1756.  
  1757.       If you were to press [C], then all specified records will be deleted
  1758.       from the mailing list database.  You would be returned to the utility
  1759.       menu3.  Since, however, we do not wish to delete any records, press
  1760.       [Q] to return to the utility menu.  When you have experimented
  1761.       enough, press [Q] at the utility menu to return to the main menu.
  1762.  
  1763.  
  1764.  
  1765.  
  1766.  
  1767.  
  1768.  
  1769.  
  1770.  
  1771.  
  1772.  
  1773.  
  1774.       ____________________
  1775.       1 Not available in Multi-user mode.  See Appendix D.
  1776.       2 System Administration function only.  See Appendix D.
  1777.       3 System Administration function only.  See Appendix D.
  1778.  
  1779.                                      - Page 27 -
  1780.  
  1781.  
  1782.  
  1783.  
  1784.  
  1785.  
  1786.  
  1787.                                      Quit to DOS
  1788.  
  1789.  
  1790.       Once you have returned to the main menu, press [Q] to return to the
  1791.       DOS ready.  It is VERY important that you do not leave the dMAIL4
  1792.       System without returning to DOS.  NEVER turn off the machine while in
  1793.       the dMAIL4 system.  Doing so may result in file corruption and lots
  1794.       of headaches to us developers.
  1795.  
  1796.       This concludes the system overview.  If you wish to know more about
  1797.       the mailing list editor, or any other editor in the dMAIL4 system,
  1798.       see Appendix A.  If you wish to know about the file layouts, see
  1799.       Appendix B.  If you ever see the infamous error message "Ignore,
  1800.       Retry, Suspend, or Quit", see Appendix C.  If you wish to install the
  1801.       multi-user mode, see Appendix D.
  1802.  
  1803.  
  1804.  
  1805.  
  1806.  
  1807.  
  1808.  
  1809.  
  1810.  
  1811.  
  1812.  
  1813.  
  1814.  
  1815.  
  1816.  
  1817.  
  1818.  
  1819.  
  1820.  
  1821.  
  1822.  
  1823.  
  1824.  
  1825.  
  1826.  
  1827.  
  1828.  
  1829.  
  1830.  
  1831.  
  1832.  
  1833.  
  1834.  
  1835.  
  1836.  
  1837.  
  1838.  
  1839.  
  1840.  
  1841.  
  1842.  
  1843.  
  1844.  
  1845.                                      - Page 28 -
  1846.  
  1847.  
  1848.  
  1849.  
  1850.  
  1851.  
  1852.  
  1853.                                      Appendix A
  1854.  
  1855.  
  1856.       This section describes all characteristics, in detail, of the generic
  1857.       editor used in this type of Foxpro application.  While this editor
  1858.       may be customized for many applications, all share common functions.
  1859.       Thus, to learn one version is to know another version.
  1860.  
  1861.       This type of Foxpro application usually has an edit menu.  This menu
  1862.       allows the user to invoke one or more editors.  The following is an
  1863.       example of the edit menu used in the dMAIL4 System:
  1864.  
  1865.  
  1866.       +--------------------------------------------------------------------+
  1867.                           Mailing List, Version 03.05.00
  1868.                     (c) 1987 Dennis Allen, All rights reserved
  1869.       |                                                                    |
  1870.        ----------------------  E D I T    M E N U ------------------------
  1871.       |                                                                    |
  1872.                           1 - Edit Mailing List
  1873.                           2 - Edit User IDs
  1874.       |                                                                    |
  1875.                           Q - Return to main menu
  1876.       |                                                                    |
  1877.       |--------------------------------------------------------------------|
  1878.                                    Your selection:
  1879.       +--------------------------------------------------------------------+
  1880.  
  1881.  
  1882.       In this edit menu, the user has the option to use two editors.  Each
  1883.       editor allows the user to maintain separate, but related, databases
  1884.       in the dMAIL4 System.  While we really don't need to go any further,
  1885.       but it is good to know where most editors are invoked.
  1886.  
  1887.       Once a generic editor is invoked, its window will be displayed.  The
  1888.       window consists of a window title, field descriptions, and all fields
  1889.       of the database record that happens to be current.  A menu window is
  1890.       also displayed.  The menu window contains all the one-character
  1891.       options available to the user.  The following is a sample screen of
  1892.       the mailing list editor used in the dMAIL4 System:
  1893.  
  1894.  
  1895.  
  1896.  
  1897.  
  1898.  
  1899.  
  1900.  
  1901.  
  1902.  
  1903.  
  1904.  
  1905.  
  1906.  
  1907.  
  1908.  
  1909.  
  1910.  
  1911.                                      - Page 29 -
  1912.  
  1913.  
  1914.  
  1915.  
  1916.  
  1917.  
  1918.  
  1919.                                      Appendix A
  1920.  
  1921.  
  1922.       +--------------------------------------------------------------------+
  1923.                             Mailing List, Version 03.05.00
  1924.                         (c) 1987 Dennis Allen, All rights reserved
  1925.       |                                                                    |
  1926.        --------------------------- Mailing List --------------------------
  1927.        User ID:
  1928.        First Name:                       Last:
  1929.                   Billing                Shipping
  1930.        Address 1 :
  1931.        Address 2 :
  1932.        City/State:
  1933.        Zip Code  :
  1934.        Sex:          Status:             Head of HouseHold:
  1935.        Home: (  )    -                   Birth:
  1936.        Work: (  )    -                   Wedding:
  1937.        Soc.Sec. #:   -  -                Active Date:
  1938.             [ ] MS-DOS    +------------ Message Memo -------------+
  1939.             [ ] CP/M      |                                       |
  1940.             [ ] TRSDOS    |                                       |
  1941.                           +---------------------------------------+
  1942.       |--------------------------------------------------------------------|
  1943.               Toggle Index (Last Name)    Toggle Order (Ascending)
  1944.               Add    Browse Delete Find   Goto   Help  Update   Quit
  1945.       +--------------------------------------------------------------------+
  1946.  
  1947.  
  1948.       All editors have the same basic functions.  Before continuing, we
  1949.       will describe each function in detail.
  1950.  
  1951.                                   Add Function
  1952.  
  1953.       Pressing [A] will allow you to add a record to the current database.
  1954.       The cursor will be positioned on the first field in the record.  Now
  1955.       whether adding or updating a record, there only a few keystrokes you
  1956.       need to know.
  1957.  
  1958.       You can move the cursor from field to field using the arrow keys.
  1959.       For instance, the Right arrow, the Down arrow, and the [Enter] key,
  1960.       moves the cursor forward one field at a time.  The left arrow and up
  1961.       arrow will move the cursor back one field.
  1962.  
  1963.       Note:  If you have a mouse, you also can move from field to field.
  1964.       Simply move the mouse cursor to the desired field and press the left
  1965.       mouse button.
  1966.  
  1967.       The [Home] key will move the cursor to the beginning of a field.  If
  1968.       the cursor is already there, [Home] will move the cursor to the first
  1969.       field in the screen.  The [End] key will move the cursor to the end
  1970.       of the field.  If the cursor is already there, [End] will move the
  1971.       cursor to the last field in the screen.
  1972.  
  1973.       If you need more information on any field, press [F1].  If there is
  1974.       help information, a help window will be displayed.  The help window
  1975.       will remain until you press either [Esc] or [F10].
  1976.  
  1977.                                      - Page 30 -
  1978.  
  1979.  
  1980.  
  1981.  
  1982.  
  1983.  
  1984.  
  1985.                                      Appendix A
  1986.  
  1987.  
  1988.  
  1989.       Note: By pressing [F1] (then [F10] if there is help text), you may
  1990.       invoke another Foxpro editor.  If the current input field is
  1991.       validated against another file, the editor of that file will appear.
  1992.       Use the Goto option to display the desired record.  Then press [Q] to
  1993.       quit.  Your input field will be filled with the corresponding field
  1994.       in the chosen record.
  1995.  
  1996.       Pressing [Ctrl]-[Home] will repeat the last text that was displayed
  1997.       in the current field.  This function provides a convenient means of
  1998.       adding many records with similar field descriptions.
  1999.  
  2000.       Once you have entered your data, moving the cursor beyond the last
  2001.       field on the screen tells the editor to accept the record.  Pressing
  2002.       [F10] also will tell the editor to accept the record.  You would then
  2003.       be prompted to add another record.  The [Esc] key will abort the add
  2004.       function, returning the screen to its original condition.
  2005.  
  2006.                                  Browse Function
  2007.  
  2008.       Pressing [B] will invoke the Foxpro browse function.  The browse
  2009.       function will display as many database records as will fit in one
  2010.       window.  You can use the left arrow, right arrow, [Tab], and [Shift]-
  2011.       [Tab] keys to move the cursor from field to field.  You can move from
  2012.       record to record with the up and down arrow keys.  You use the page
  2013.       up/down keys to display the next/previous window of records in the
  2014.       current database.
  2015.  
  2016.       If you have a mouse, you also can use the characters located on the
  2017.       right side of the window.  Place the mouse cursor on the up/down
  2018.       arrow characters and press the left button to move one record at a
  2019.       time.  The diamond character show where you're located in relation to
  2020.       the rest of the database.  Place the mouse cursor on the diamond and
  2021.       press the left button.  Dragging the diamond will re-position you in
  2022.       the database.
  2023.  
  2024.       Mouse Note:  After you found the record you want, place the mouse
  2025.       cursor on the record and press the left button.  Otherwise, the first
  2026.       time you try to update a record will put you back to the last record
  2027.       displayed before using the mouse.
  2028.  
  2029.       If there are more fields than can be displayed in one window,
  2030.       pressing [TAB] will scroll to the next field.  Pressing [Shift]-[TAB]
  2031.       will scroll back one field.
  2032.  
  2033.       If you have a mouse, you also may use the characters located across
  2034.       the bottom of the window.  Place the mouse cursor on the left/right
  2035.       arrow characters and press the left button to move one field at a
  2036.       time.  The diamond character show where you're located in relation to
  2037.       the rest of the database.  Place the mouse cursor on the diamond and
  2038.       press the left button.  Dragging the diamond will re-position the
  2039.       fields displayed in the database.
  2040.  
  2041.  
  2042.  
  2043.                                      - Page 31 -
  2044.  
  2045.  
  2046.  
  2047.  
  2048.  
  2049.  
  2050.  
  2051.                                      Appendix A
  2052.  
  2053.  
  2054.       Mouse Note:  After you found the field you want, place the mouse
  2055.       cursor on the field and press the left button.  Otherwise, the first
  2056.       time you try to update a field will put you back to the last field
  2057.       displayed before using the mouse.
  2058.  
  2059.       In the browse function you may edit any field as desired.  Press
  2060.       [Ctrl]-[N] to add a record from the browse.  Press [Ctrl]-[T] to
  2061.       delete the current record from the browse.  When finished, press
  2062.       [F10] to return to the edit menu.  Pressing [Esc] also will return
  2063.       you to the edit menu, but it will abort any change to the current
  2064.       record.
  2065.  
  2066.       Note:  The JKEY incremental search has recently been added to the
  2067.       browse command.  When performing a browse, press [Ctrl]-[J] to
  2068.       activate JKEY.  A search will begin on the current index.  Each new
  2069.       keystroke will be added to the search string and the record, closest
  2070.       matching to the current string, will be displayed.  You may press
  2071.       [BackSpace] to revise the search string, or press [Ctrl]-[Y] to clear
  2072.       it.  To abort JKEY, simply press [Ctrl]-[J] once again (or [Esc] to
  2073.       abort the browse).
  2074.  
  2075.                                  Delete Function
  2076.  
  2077.       Pressing [D] will allow you to delete the currently displayed record.
  2078.       You will be prompted whether you are sure.  Pressing [Y] deletes the
  2079.       record from the database.
  2080.  
  2081.                                   Find Function
  2082.  
  2083.       Pressing [F] will invoke the find function.  This option is only
  2084.       available if a database is indexed.
  2085.  
  2086.       If invoked, you would type the key of the desired record, and press
  2087.       [Enter].  If found, the record would be displayed.  You could then
  2088.       delete it, or update it.
  2089.  
  2090.  
  2091.       Note:  The key doesn't have to be a complete description.  For
  2092.       incomplete keys, the find function will try to find the record with
  2093.       the closet matching key.
  2094.  
  2095.       Recently, wild-carding has been introduced into the [F]ind function.
  2096.       For example, suppose we have a customer file.  It has an index by
  2097.       last name.  When the find function prompts us, we could type:
  2098.  
  2099.            Last Name:  ..ll..
  2100.  
  2101.       In this example, we are searching for a customer whose last name
  2102.       contain a "ll".  In another example:
  2103.  
  2104.            Last Name:  ..en
  2105.  
  2106.       We are searching for a customer whose last name ends with "en".  In
  2107.       one more example:
  2108.  
  2109.                                      - Page 32 -
  2110.  
  2111.  
  2112.  
  2113.  
  2114.  
  2115.  
  2116.  
  2117.                                      Appendix A
  2118.  
  2119.  
  2120.  
  2121.            Last Name:  al..
  2122.  
  2123.       We are searching for a customer whose last name begins with "al".
  2124.  
  2125.       Here's where wild-carding get interesting.  Let's use the first
  2126.       example.  Say we find a customer whose last name contains a "ll".  If
  2127.       we use the [G]oto function, we get an extra option.  This option,
  2128.       called [C]ontinue, will allow us to find the next customer whose last
  2129.       name contains a "ll".
  2130.  
  2131.       The continue option will remain in effect until you perform another
  2132.       find.  It will search for the next wild-card occurrence no matter
  2133.       where you are in the database.  In that sense, think of wild-carding
  2134.       as an implicit record filter.
  2135.  
  2136.       Oh, a new feature has been added to wild-carding:  The triple period
  2137.       "...".  Like the double period "..", the triple period denotes wild-
  2138.       carding.  Using the triple, however, will also disable the current
  2139.       index during the search.
  2140.  
  2141.       You see, wild-card searches are a LOT faster when done on an
  2142.       unordered database.  So if you are looking for just one record or two
  2143.       records, don't care about viewing order, and are using a huge
  2144.       database, the triple period might save you valuable time.
  2145.  
  2146.                                   Goto Function
  2147.  
  2148.       Pressing [G] will create a pop-up menu.  This popup menu allows the
  2149.       user to display different records in the current database.  Press [F]
  2150.       for the first record in the database.  Press [L] for the last record.
  2151.       Press [N] for the next record.  Press [P] for the previous record.
  2152.       The goto window remains active until you press [Esc] or [Q] to quit.
  2153.  
  2154.       If the current database is indexed, order is defined by the toggle
  2155.       order function.  For example, if the current record is customer 5,
  2156.       pressing [N] will display customer 6.  If the index order is
  2157.       descending, however, pressing [N] will display customer 4.  See
  2158.       toggle index order.
  2159.  
  2160.       A new option, [W] for window, has been added.  Pressing [W] activates
  2161.       the goto window.  The user may then move the goto window to any
  2162.       location on the screen.  That location remains in effect for the
  2163.       duration of the editor.
  2164.  
  2165.       To move the window, press [Ctrl]-[F7].  The goto window border will
  2166.       flash.  Press any cursor key to move the window.  Press [Ctrl]-[F7]
  2167.       to stop the window from flashing.  Then press [Esc] to resume the
  2168.       normal goto prompts.
  2169.  
  2170.       Note:  You also may use a mouse to move the goto window.  Press [W].
  2171.       Place the mouse cursor on the border of the goto window.  Press the
  2172.       left button.  Drag the mouse cursor (and window) to the desired
  2173.       location.  Then, press the right button to resume the goto prompts.
  2174.  
  2175.                                      - Page 33 -
  2176.  
  2177.  
  2178.  
  2179.  
  2180.  
  2181.  
  2182.  
  2183.                                      Appendix A
  2184.  
  2185.  
  2186.  
  2187.                                   Help Function
  2188.  
  2189.       Pressing [H] will display a summary of commands used in the edit menu
  2190.       as in the following screen.  Pressing any key after that returns you
  2191.       to the edit menu.
  2192.  
  2193.  
  2194.           Command prompt
  2195.  
  2196.           [T]oggle Index -  Change Index used by [F]ind command
  2197.           Toggle [O]rder -  Current Index in Ascending/Descending Order
  2198.  
  2199.           [A]dd        -  Add a record to the current database
  2200.           [B]rowse     -  List all records a page at a time
  2201.           [D]elete     -  Delete the currently displayed record
  2202.           [F]ind       -  Search database for record with specified key
  2203.           [G]oto       -  Display the First, Last, Next, or Previous record
  2204.           [H]elp       -  Display help information
  2205.           [R]ecall     -  Recall Deleted Records
  2206.           [U]pdate     -  Update the currently displayed record
  2207.           [Q]uit       -  Return to calling program
  2208.  
  2209.           Common full screen keystrokes
  2210.  
  2211.           [ESC]        -  Abort operation, return to prompt/menu
  2212.           [HOME]       -  move cursor to beginning field
  2213.           [END]        -  move cursor to ending field
  2214.           [CTRL][HOME] -  repeat last input field completed
  2215.           [CTRL][END]  -  Complete operation, return to prompt/menu
  2216.           [F1]         -  Display Help text/call another editor
  2217.           [F10]        -  Complete operation, return to prompt/menu
  2218.  
  2219.  
  2220.  
  2221.  
  2222.  
  2223.  
  2224.  
  2225.  
  2226.  
  2227.  
  2228.  
  2229.  
  2230.  
  2231.  
  2232.  
  2233.  
  2234.  
  2235.  
  2236.  
  2237.  
  2238.  
  2239.  
  2240.  
  2241.                                      - Page 34 -
  2242.  
  2243.  
  2244.  
  2245.  
  2246.  
  2247.  
  2248.  
  2249.                                      Appendix A
  2250.  
  2251.  
  2252.  
  2253.                                  Recall Function
  2254.  
  2255.       Pressing [R] allows you to recall a deleted record.  You will be
  2256.       presented with a browse window of all deleted records.  Simply locate
  2257.       the record to be recalled and press [Enter].
  2258.  
  2259.       Note:  If the current database has no deleted() index, you will be
  2260.       prompted for the record key (just like the find function).  Type the
  2261.       key of the record to be recalled and press [Enter].  If the deleted
  2262.       record is found, it is made active again.
  2263.  
  2264.  
  2265.                               Toggle Index Function
  2266.  
  2267.       For databases with multiple indices, the toggle option will be
  2268.       displayed.  The toggle option allows the user to change what index
  2269.       will be used with the [F]ind option.  The current index is displayed
  2270.       in parenthesis.
  2271.  
  2272.                               Toggle Order Function
  2273.  
  2274.       This option toggles the order of the current index.  The current
  2275.       order is displayed in parenthesis.
  2276.  
  2277.       For example, if the current order is ascending, pressing [O] will
  2278.       toggle the order to descending.  If the current index is by last
  2279.       name, then 'ALPHA' will come after 'BETA'  Pressing [O] again will
  2280.       change the current index back to ascending.
  2281.  
  2282.                                  Update Function
  2283.  
  2284.       Pressing [U] allows you to update the currently displayed record.
  2285.       Like the add function, moving the cursor past the last field will
  2286.       complete the updating.  Pressing [Esc] will abort any update.
  2287.  
  2288.                                   Quit Function
  2289.  
  2290.       Finally, pressing [Q] will quit the editor.  You will be returned to
  2291.       the menu that invoked the editor.
  2292.  
  2293.  
  2294.  
  2295.  
  2296.  
  2297.  
  2298.  
  2299.  
  2300.  
  2301.  
  2302.  
  2303.  
  2304.  
  2305.  
  2306.  
  2307.                                      - Page 35 -
  2308.  
  2309.  
  2310.  
  2311.  
  2312.  
  2313.  
  2314.  
  2315.                                     Appendix A-1
  2316.  
  2317.  
  2318.  
  2319.  
  2320.       If you ever been on an input field, you may have noticed that
  2321.       pressing [Alt] displays a menu at the very top of the screen.  This
  2322.       is called the system menu, or sysmenu for short.  The system menu
  2323.       displayed is a customized version of the Foxpro sysmenu.  It contains
  2324.       a variety of functions and is available to all users.  The following
  2325.       describes only a few features available through the sysmenu.  For
  2326.       more information, see the Foxpro users manual.
  2327.  
  2328.  
  2329.                                   Sysmenu edit
  2330.  
  2331.  
  2332.       The sysmenu edit popup is very powerful.  It gives any input field a
  2333.       variety of edit functions.  For example, highlighting a section of
  2334.       text ([Shift] and cursor key) and pressing [Del] will delete this
  2335.       text.  But [Ctrl]-[C] would have copied this text into the clipboard.
  2336.       You would then use [Ctrl]-[V] to paste this text.
  2337.  
  2338.       Note:  The sysmenu edit popup provides a [Ctrl]-[U] option to undo a
  2339.       deletion, copy, cut, or paste.
  2340.  
  2341.       Another example:  Suppose you are editing a memo field.  The sysmenu
  2342.       edit popup provides a [Ctrl]-[F] option to find specified text.  This
  2343.       popup also provides a [Ctrl]-[G] option to repeat the last find.
  2344.  
  2345.       There are other functions in the sysmenu edit popup.  See the Foxpro
  2346.       users manual for details.
  2347.  
  2348.  
  2349.                                 Foxpro Calculator
  2350.  
  2351.  
  2352.       Simply enter a numeric value on any input field.  Press [Alt]-[F4] to
  2353.       activate the Foxpro calculator.  The Foxpro calculator will display
  2354.       your numeric value.
  2355.  
  2356.       When you have a new calculated value, press [Ctrl]-[F4] to deactivate
  2357.       the calculator.  Your new numeric value will be placed into the
  2358.       current input field.
  2359.  
  2360.       Note:  If you just want the calculator, press [F4].  But you must be
  2361.       on an input field to invoke [F4].
  2362.  
  2363.                                  Foxpro Calendar
  2364.  
  2365.  
  2366.       Simply enter a date on any input field.  Press [Alt]-[F5] to invoke
  2367.       the Foxpro calendar.  The Foxpro calendar will display the year,
  2368.       month, and day of the specified date.
  2369.  
  2370.  
  2371.  
  2372.  
  2373.                                      - Page 36 -
  2374.  
  2375.  
  2376.  
  2377.  
  2378.  
  2379.  
  2380.  
  2381.                                     Appendix A-1
  2382.  
  2383.  
  2384.       Select any desired date.  When you have a new date, press [Ctrl]-[F5]
  2385.       will deactivate the calendar.  Your new date will be placed into the
  2386.       current input field.
  2387.  
  2388.       Note:  If you just want the calendar, press [F5].  But you must be on
  2389.       an input field to invoke [F5].
  2390.  
  2391.  
  2392.                                 Foxpro DOS Shell
  2393.  
  2394.  
  2395.       In Foxpro for DOS, the system pulldown menu provides a DOS shell.  If
  2396.       you are a system administrator, pressing [Alt]-[S] [O] brings up the
  2397.       DOS command window.  Type any desired DOS command.  Type 'EXIT' and
  2398.       press [Enter] to leave the DOS shell.
  2399.  
  2400.  
  2401.                                   Printer Eject
  2402.  
  2403.  
  2404.       Press [F7] for a page eject.  A form feed will be sent to the printer
  2405.       device, specified in the System Setup.  Very useful for people with
  2406.       Laser Printers.
  2407.  
  2408.                                    Video Mode
  2409.  
  2410.  
  2411.       Press [Alt]-[V] for the video mode.  In Foxpro for DOS, a VGA screen
  2412.       will toggle between 25 and 43 line modes.  All subsequent windows
  2413.       will conform to the specified mode.  Very useful in displaying
  2414.       reports.
  2415.  
  2416.       In Foxpro for windows, [Alt]-[V] will display a font selector.  All
  2417.       sub-windows, to the current window, will conform to the specified
  2418.       font.  If you change the main menu window, the font becomes permanent
  2419.       to your application.
  2420.  
  2421.  
  2422.                                    Print Mode
  2423.  
  2424.  
  2425.       In Foxpro for windows, you can print a report with the current font.
  2426.       Send the report to the screen and use the 'Print' option of the
  2427.       'File' popup in sysmenu.  'Print' will print the entire contents of
  2428.       the current window, fonts and all.  Remember, however, that 'Print'
  2429.       will not use your printer codes.
  2430.  
  2431.       Note:  'Print' may not be available with the Foxpro for windows
  2432.       runtime unit.  To print font reports, obtain the developers copy of
  2433.       Foxpro for windows.
  2434.  
  2435.  
  2436.  
  2437.  
  2438.  
  2439.                                      - Page 37 -
  2440.  
  2441.  
  2442.  
  2443.  
  2444.  
  2445.  
  2446.  
  2447.                                      Appendix B
  2448.  
  2449.  
  2450.       The dMAIL4 System contains the following files:
  2451.  
  2452.       BACK     BAT    DBFS     PRG    EXPRMENU PRG    FOXERR   DBF
  2453.       FOXERR   FPT    FOXUSER  DBF    FOXUSER  FPT    MAIL     CDX
  2454.       MAIL     DBF    MAIL     FPT    MAL      BAT    MAL      MAN
  2455.       MAL      PRG    MALCF    PRG    MALED    PRG    MALED1   PRG
  2456.       MALED2   PRG    MALED3   PRG    MALPR    PRG    MALPR1   PRG
  2457.       MALPRA   PRG    MALRF    PRG    MALSYS   MEM    MALSYS   PRG
  2458.       MALUT    PRG    MALUT1   PRG    MALUT2   PRG    MALUTA   PRG
  2459.       MALUTB   PRG    MALUTC   PRG    MANUAL   BAT    SCR      CDX
  2460.       SCR      DBF    SCR      FPT    SCRPROC  PRG    UNBACK   BAT
  2461.       USER     CDX    USER     DBF
  2462.  
  2463.       The files with a .BAT extension are batch files.  Files with a .DBF
  2464.       extension are database files.  Files with a .CDX are Foxpro compound
  2465.       index files.  Files with a .PRG extension are Foxpro source files.
  2466.       The files with a .FXP extension are Foxpro object modules.  The files
  2467.       with a .FPT extension are Foxpro memo files.
  2468.  
  2469.       The dMAIL4 manual is stored in a file with a MAN extension.  A copy
  2470.       can be printed simply by typing "MANUAL" at the DOS prompt.
  2471.  
  2472.       MAIL.DBF is the mailing list database.  It is edited by the mailing
  2473.       list editor.  It is indexed by MAIL.CDX.  MAIL.CDX has tags by last
  2474.       name, zip code, and user ids.
  2475.  
  2476.       USER.DBF is the user id database.  It is edited by the user id
  2477.       editor.  It has one index, called USER.CDX and is keyed by user id.
  2478.  
  2479.       SCR.DBF is the data dictionary.  It contains all the information
  2480.       defining the screen layouts.  SCR.FPT contains all the help text
  2481.       provided by the [F1] key.  It has one index, called SCR.CDX.  See
  2482.       Appendix D:  PROG.
  2483.  
  2484.       All Q*.* files belong, and are maintained, by the expression builder.
  2485.       See Appendix D:  Record Filters.
  2486.  
  2487.       MALSYS.MEM is the dMAIL4 system memory file.  It contains system wide
  2488.       variables, including printer codes.
  2489.  
  2490.       FOXUSER.DBF is the foxuser resource file.  It contains all user
  2491.       attributes, including color.  See Appendix D.
  2492.  
  2493.       FOXERR.DBF is the Foxpro error file.  All major events are recorded
  2494.       here for debugging purposes.
  2495.  
  2496.  
  2497.  
  2498.  
  2499.  
  2500.  
  2501.  
  2502.  
  2503.  
  2504.  
  2505.                                      - Page 38 -
  2506.  
  2507.  
  2508.  
  2509.  
  2510.  
  2511.  
  2512.  
  2513.                                      Appendix B
  2514.  
  2515.  
  2516.  
  2517.                             Backup/Restore Data Files
  2518.  
  2519.  
  2520.       To insure the integrity of its data files, any major database should
  2521.       have a standardized backup procedure.  Data files should be
  2522.       periodically copied to a media, other than where they currently
  2523.       reside.  There is NO excuse for not developing a proper backup
  2524.       procedure.
  2525.  
  2526.       As a supplement, however, this application includes its own backup
  2527.       procedure.  To back up data, you must be in the application
  2528.       directory.  At the DOS prompt type:
  2529.  
  2530.                 BACK
  2531.  
  2532.       and press [Enter].  This command will copy all data files into a
  2533.       backup directory ('.\BAK').  In case of power failure, these backup
  2534.       files could be used to recover previous work.
  2535.  
  2536.       Restoring these backup files is simple.  To restore data, you must be
  2537.       in the application directory.  At the DOS prompt type:
  2538.  
  2539.                 UNBACK
  2540.  
  2541.       and press [Enter].  This command restores all data up to the point
  2542.       you last invoked BACK.
  2543.  
  2544.       Note:  If you decide to store data files in a separate directory (See
  2545.       Appendix D:  DATA), make sure the data directory has a '.\BAK' backup
  2546.       directory.  You would then execute BACK and UNBACK from your data
  2547.       directory.  For convenience, you might consider coping BACK.BAT and
  2548.       UNBACK.BAT into your data directory.
  2549.  
  2550.       Warning:  If you ever run into a problem with this application, NEVER
  2551.       invoke the "BACK" command without first resolving the problem.  If a
  2552.       data file is corrupt, using "BACK" would only copy this corrupted
  2553.       file over a good backup file.
  2554.  
  2555.  
  2556.  
  2557.  
  2558.  
  2559.  
  2560.  
  2561.  
  2562.  
  2563.  
  2564.  
  2565.  
  2566.  
  2567.  
  2568.  
  2569.  
  2570.  
  2571.                                      - Page 39 -
  2572.  
  2573.  
  2574.  
  2575.  
  2576.  
  2577.  
  2578.  
  2579.                                      Appendix C
  2580.  
  2581.  
  2582.       In the course of normal events, you shouldn't see any error messages.
  2583.       But events can happen to cause an error message.  The most common
  2584.       events are:  Disk space used up, printer not ready, multi-user, or
  2585.       syntax error.
  2586.  
  2587.  
  2588.                                    Disk Space
  2589.  
  2590.  
  2591.       If ever you see data records that look like garbage, you may have bad
  2592.       sectors on your hard disk.  Ask your system administrator to take a
  2593.       look at it.  The usual procedure is to back up all programs/data, and
  2594.       reformat the hard disk.  Any bad sectors found should be locked out
  2595.       and should no longer cause a problem.
  2596.  
  2597.       Bad data can result from lack of free space on the hard drive.  While
  2598.       you cannot start this application without a minimum amount of free
  2599.       space, it's always possible you might have used a routine that filled
  2600.       up your hard drive.  If this be the case, exit the application.  If
  2601.       you cannot get back into the application, due to lack of free space,
  2602.       have your system administrator remove all unused temporary files.  If
  2603.       you still cannot get back in, you might have to restore backup files.
  2604.  
  2605.  
  2606.                                 Printer not Ready
  2607.  
  2608.  
  2609.       If you're printing a report and the printer is not on, you will get a
  2610.       message:
  2611.  
  2612.            Printer not ready.
  2613.            Press anything to retry, 'Q' to quit"
  2614.  
  2615.       Simply turn on your printer, and press any key to retry.  Your report
  2616.       should start to print.  Pressing "Q" would have aborted the report
  2617.       and returned you to the main menu.
  2618.  
  2619.       If you retry and still get "Printer not ready", you may have to
  2620.       perform the following DOS command:
  2621.  
  2622.            MODE LPT1,,P
  2623.  
  2624.       This command tells DOS to perform an infinite number of retries on
  2625.       the print device "LPT1".  Depending on you machine, you may also have
  2626.       to increase the Foxpro printer time-out.  See Appendix D:  TIME.
  2627.  
  2628.  
  2629.  
  2630.  
  2631.  
  2632.  
  2633.  
  2634.  
  2635.  
  2636.  
  2637.                                      - Page 40 -
  2638.  
  2639.  
  2640.  
  2641.  
  2642.  
  2643.  
  2644.  
  2645.                                      Appendix C
  2646.  
  2647.  
  2648.  
  2649.                                 Multi-User Errors
  2650.  
  2651.  
  2652.       If you running this application under the multi-user mode, you may be
  2653.       presented with two different type of error messages.  Both types have
  2654.       to do with file locking.
  2655.  
  2656.       For example, you may be updating a database record.  In the meantime,
  2657.       however, somebody else may have already updated that record.  When
  2658.       your update is complete, you will receive the message:
  2659.  
  2660.            Current record has been altered
  2661.  
  2662.       In that case, review the updated record and try the update again.
  2663.  
  2664.       Another kind of message occurs while you are performing some kind of
  2665.       transaction processing.  If you need a record that somebody else has
  2666.       locked out, you will receive the message:
  2667.  
  2668.            Waiting for access, press [ESC] to abort
  2669.  
  2670.       In this case, just wait.  Most of the time, the record you need will
  2671.       be quickly released.
  2672.  
  2673.  
  2674.                                   Syntax Error
  2675.  
  2676.  
  2677.       The last kind of problem is a syntax error.  You shouldn't ever see
  2678.       one.  In case you do, however, you will be prompted:
  2679.  
  2680.            [I]gnore, [R]etry, [S]uspend, or [Q]uit to Main Menu.
  2681.  
  2682.       Unless you're a system administrator, your best bet is to press [Q]
  2683.       to Quit to Main menu.  Pressing [Q] will automatically log the error
  2684.       into the Foxpro error file (FOXERR.DBF).
  2685.  
  2686.       Don't forget to tell your system administrator about the error.  As
  2687.       the author, I'll want a copy of your FOXERR.* files to determine the
  2688.       type of error that occurred and to possibly correct it.
  2689.  
  2690.       Note:  If the Foxpro error file logs over 100 errors, it will remind
  2691.       you upon application start-up.  Then, only a system administrator can
  2692.       purge the error file.
  2693.  
  2694.  
  2695.  
  2696.  
  2697.  
  2698.  
  2699.  
  2700.  
  2701.  
  2702.  
  2703.                                      - Page 41 -
  2704.  
  2705.  
  2706.  
  2707.  
  2708.  
  2709.  
  2710.  
  2711.                                      Appendix D
  2712.  
  2713.  
  2714.       To use this Foxpro application, each user needs a resource directory.
  2715.       A resource directory contains all the files needed to configure this
  2716.       application.  On a single-user system, or a network with a local hard
  2717.       drive, the resource directory will usually be the Foxpro runtime unit
  2718.       directory.
  2719.  
  2720.       This appendix will first explain the Foxpro runtime unit.  What's in
  2721.       it and how Foxpro determines the resource directory.  From there,
  2722.       this appendix will explain the resource directory.  What files are in
  2723.       this directory and how to configure them for this application.
  2724.  
  2725.  
  2726.                                Foxpro Runtime Unit
  2727.  
  2728.  
  2729.       The Foxpro runtime unit contain all the files necessary to run this
  2730.       application.  Since many Foxpro applications require the same runtime
  2731.       unit, these files are usually stored in their own directory
  2732.       (typically C:\FOXRUN).  On a network, the Foxpro runtime unit should
  2733.       be installed on each user's local hard drive.  It could, however, be
  2734.       shared among users with no local hard drive.
  2735.  
  2736.       The runtime unit consists of *.ESL files, *.ESO files, FOXSWAP.COM,
  2737.       and FOXR.EXE.
  2738.  
  2739.       Foxpro for DOS runtime comes with two versions.  The standard
  2740.       (FOXD*.ES?) and the extended (FOXDX*.ES?).  The standard version is
  2741.       for machines with only expanded (EMS) memory or less than three
  2742.       megabytes of extended memory.  The extended version is for machines
  2743.       with three or more megabytes of extended memory.
  2744.  
  2745.       Note:  FOXSWAP.COM is used only with the standard version to invoke
  2746.       large DOS applications.
  2747.  
  2748.  
  2749.                                     FOXR.EXE
  2750.  
  2751.  
  2752.       FOXR.EXE is the Foxpro for DOS startup module.  It allows Foxpro to
  2753.       launch an application.  FOXR.EXE also determines where the user
  2754.       resource directory is located.  Example:
  2755.  
  2756.            C:\FOXRUN\FOXR.EXE -cC:\FOXRUN\CONFIG.FP -m2612 mal
  2757.  
  2758.       In this example, FOXR.EXE was called from the runtime unit directory.
  2759.       It executed the application startup module MAL.FXP.  The -c option
  2760.       defined C:\FOXRUN\CONFIG.FP as the Foxpro configuration file.  It is
  2761.       the configuration file that determines the user's resource directory.
  2762.  
  2763.  
  2764.  
  2765.  
  2766.  
  2767.  
  2768.  
  2769.                                      - Page 42 -
  2770.  
  2771.  
  2772.  
  2773.  
  2774.  
  2775.  
  2776.  
  2777.                                      Appendix D
  2778.  
  2779.  
  2780.       FOXR.EXE also determines which version of Foxpro, standard or
  2781.       extended, to run.  Normally, it takes three megabytes of extended
  2782.       memory to invoke the extended version.
  2783.  
  2784.       In the last example, however, the -m option was used to reduce the
  2785.       amount of extended memory required to invoke the extended version.
  2786.       In this case, only 2.6 megabytes was needed.
  2787.  
  2788.  
  2789.                                     FOXRW.EXE
  2790.  
  2791.  
  2792.       FOXRW.EXE is the Foxpro for Windows version of FOXR.EXE.  It allows
  2793.       the Foxpro for Windows runtime (FOXW*.ES?) to launch an application.
  2794.       The same rules and parameters of FOXR.EXE apply to FOXRW.EXE.
  2795.  
  2796.       Before continuing, it should be noted.  All the files in the runtime
  2797.       unit are self contained.  You need not add a C:\FOXRUN or a
  2798.       C:\FOXRUNW to your DOS PATH statement.
  2799.  
  2800.  
  2801.                                     CONFIG.FP
  2802.  
  2803.  
  2804.       As stated earlier, the CONFIG.FP file (CONFIG.FPW in Foxpro for
  2805.       windows) determines the user's resource directory.  It can also be
  2806.       used to optimize Foxpro.  The following is the basic CONFIG.FP file
  2807.       layout:
  2808.  
  2809.                 _FOXDOC   = ''
  2810.                 _FOXGRAPH = ''
  2811.                 _GENGRAPH = ''
  2812.                 BELL = OFF
  2813.                 DEVELOPMENT = OFF
  2814.                 FILES = 45
  2815.                 INDEX = NDX
  2816.                 MVARSIZE = 20
  2817.                 MVCOUNT = 512
  2818.                 RESOURCE = C:\FOXRUN
  2819.                 RESOURCE = ON
  2820.                 SAFETY = OFF
  2821.                 STATUS = OFF
  2822.                 TALK = OFF
  2823.  
  2824.       The following section will describe the most important commands in
  2825.       the CONFIG.FP.
  2826.  
  2827.  
  2828.  
  2829.  
  2830.  
  2831.  
  2832.  
  2833.  
  2834.  
  2835.                                      - Page 43 -
  2836.  
  2837.  
  2838.  
  2839.  
  2840.  
  2841.  
  2842.  
  2843.                                      Appendix D
  2844.  
  2845.  
  2846.                                        EMS
  2847.  
  2848.  
  2849.       The standard version of Foxpro requires expanded memory.  You need at
  2850.       least three megabytes of extended memory to run the extended version
  2851.       of Foxpro.  If you only have expanded memory, add the following
  2852.       command to CONFIG.FP:
  2853.  
  2854.                 EMS = ON
  2855.  
  2856.       If your expanded memory doesn't work with Foxpro, it probably doesn't
  2857.       conform to the LIM 4.0 specification for EMS.  In that case, replace
  2858.       the EMS on command with the following:
  2859.  
  2860.                 EMS64 = OFF
  2861.                 EMS = ON
  2862.  
  2863.       These commands allow Foxpro to use EMS memory, but only for file I/O.
  2864.  
  2865.  
  2866.                                     MEMLIMIT
  2867.  
  2868.  
  2869.       If you are unable to run Foxpro for windows, due to insufficient
  2870.       memory, add a MEMLIMIT statement to your CONFIG.FPW file.  The syntax
  2871.       for this statement is MEMLIMIT=%,min,max where % is a calculated
  2872.       amount based on available memory and min and max represent actual
  2873.       minimum and maximum allocations.
  2874.  
  2875.       For example, specifying MEMLIMIT=80,1024,4096 allocates 80 percent of
  2876.       your system's available memory to Foxpro with a minimum allocation of
  2877.       1024K and a maximum of 4096K.
  2878.  
  2879.  
  2880.                                     PROGWORK
  2881.  
  2882.  
  2883.       If you have at least a 450 kilobyte ramdisk, you can add the
  2884.       following command:
  2885.  
  2886.                 PROGWORK = G:\
  2887.  
  2888.       This command will place program cache on drive G.  There are similar
  2889.       commands you can use to further optimize Foxpro.  If you are
  2890.       interested, refer to the Foxpro user guide.
  2891.  
  2892.  
  2893.  
  2894.  
  2895.  
  2896.  
  2897.  
  2898.  
  2899.  
  2900.  
  2901.                                      - Page 44 -
  2902.  
  2903.  
  2904.  
  2905.  
  2906.  
  2907.  
  2908.  
  2909.                                      Appendix D
  2910.  
  2911.  
  2912.                                     RESOURCE
  2913.  
  2914.  
  2915.       This command defines the user resource directory.  For single users,
  2916.       or network users with local hard drives, the resource directory would
  2917.       also be the runtime unit directory.  Example:
  2918.  
  2919.                 C:\FOXRUN\FOXR.EXE -CC:\FOXRUN\CONFIG.FP MAL
  2920.  
  2921.       Where C:\FOXRUN is the local copy of the runtime unit and the
  2922.       CONFIG.FP file.  MAL would be, of course, the startup procedure to
  2923.       our application.  The CONFIG.FP file would contain the commands:
  2924.  
  2925.                 RESOURCE = C:\FOXRUN
  2926.                 RESOURCE = ON
  2927.  
  2928.  
  2929.       In the case of a network with no local hard drive, a work station
  2930.       would be invoked as:
  2931.  
  2932.                 K:\FOXRUN\FOXR.EXE -CK:\USER1\CONFIG.FP MAL
  2933.  
  2934.       Where K:\FOXRUN contains the shared copy of the runtime unit and
  2935.       K:\USER1 contains the CONFIG.FP.  The CONFIG.FP would contain:
  2936.  
  2937.                 RESOURCE = K:\USER1
  2938.                 RESOURCE = ON
  2939.  
  2940.       Where K:\FOXRUN is defined as the user resource directory.
  2941.  
  2942.       Note:  If a runtime unit is to be shared, all *.ESL, *.ESO, FOXR.EXE
  2943.       and/or FOXRW.EXE must be marked as read-only.  The normal
  2944.       installation, however, should have already done this.
  2945.  
  2946.  
  2947.                                       TIME
  2948.  
  2949.  
  2950.       Establishes the amount of time that Foxpro waits for the print device
  2951.       to accept a character.  If the printer is not ready, this value
  2952.       dictates the number of retries that Foxpro will make to the print
  2953.       device.  If the retry count is exhausted, Foxpro issues the error
  2954.       "Printer not ready. Retry? (Y/N)".  The value of TIME may range from
  2955.       1 to 1,000,000 retries.  The default is 6,000.
  2956.  
  2957.  
  2958.  
  2959.  
  2960.  
  2961.  
  2962.  
  2963.  
  2964.  
  2965.  
  2966.  
  2967.                                      - Page 45 -
  2968.  
  2969.  
  2970.  
  2971.  
  2972.  
  2973.  
  2974.  
  2975.                                      Appendix D
  2976.  
  2977.  
  2978.                                    FOXPRO.INI
  2979.  
  2980.  
  2981.       Another resource directory file is FOXPRO.INI.  In the past, this
  2982.       Foxpro application was configured using DOS environment variables.
  2983.       For example, the DOS command SET MULT=YES would set this application
  2984.       into multi-user mode.
  2985.  
  2986.       While DOS environment variables are still accepted, the preferred way
  2987.       is to add commands to a [GetEnv] section of the FOXPRO.INI file.  The
  2988.       following is a basic FOXPRO.INI file layout:
  2989.  
  2990.  
  2991.            [FoxPro]
  2992.            Zoomed=0
  2993.            Row=0
  2994.            Column=0
  2995.            Height=402
  2996.            Width=648
  2997.            FontName=FOXFONT
  2998.            FontStyle=0
  2999.            FontSize=9
  3000.            
  3001.            [GetEnv]
  3002.            FontName=FoxFont
  3003.            FontStyle=N
  3004.            FontSize=9
  3005.            Mult=yes
  3006.            Recall=yes
  3007.  
  3008.  
  3009.       Note:  The [Foxpro] section is used only by Foxpro for Windows and
  3010.       then, only from the FOXPRO.INI stored in the windows directory.
  3011.  
  3012.       The following is a list of FOXPRO.INI [GetEnv] commands:
  3013.  
  3014.  
  3015.                                       DATA
  3016.  
  3017.  
  3018.       All application data files are assumed in the current directory
  3019.       unless the command DATA is specified.  Example:
  3020.  
  3021.                 DATA=C:\DATA\
  3022.  
  3023.       Note: Data files include *.DBF, *.CDX, and *.FPT.  Q*.* are
  3024.       expression builder files (see Record Filters).  SCR.* are data
  3025.       dictionary files and belong in the program directory (see PROG).
  3026.  
  3027.  
  3028.  
  3029.  
  3030.  
  3031.  
  3032.  
  3033.                                      - Page 46 -
  3034.  
  3035.  
  3036.  
  3037.  
  3038.  
  3039.  
  3040.  
  3041.                                      Appendix D
  3042.  
  3043.  
  3044.                                     FONTNAME
  3045.  
  3046.  
  3047.       In Foxpro for Windows, pressing [Alt]-[V] allows the user to change
  3048.       fonts.  When a font is changed at a particular menu, all sub-menus
  3049.       will use that font.  If the font is changed at the main menu, the new
  3050.       font is stored in the [GetEnv] section of FOXPRO.INI.  When the
  3051.       application is restarted, the new font will then be used.
  3052.  
  3053.       The following command will define the name of the font:
  3054.  
  3055.                 FONTNAME=FOXFONT
  3056.  
  3057.       ...where Foxfont is the name of the font.
  3058.  
  3059.  
  3060.                                     FONTSIZE
  3061.  
  3062.  
  3063.       In Foxpro for Windows, the following command will define the startup
  3064.       font size:
  3065.  
  3066.                 FONTSIZE=9
  3067.  
  3068.       ..where '9' is 9 point.
  3069.  
  3070.  
  3071.                                     FONTSTYLE
  3072.  
  3073.  
  3074.       In Foxpro for Windows, the following command will define the style of
  3075.       the startup font:
  3076.  
  3077.                 FONTSTYLE=N
  3078.  
  3079.       ..where 'N' is normal, 'I' defines italic, and 'B' for bold.  See the
  3080.       Foxpro command DEFINE WINDOW for a list of possible styles.
  3081.  
  3082.  
  3083.  
  3084.  
  3085.  
  3086.  
  3087.  
  3088.  
  3089.  
  3090.  
  3091.  
  3092.  
  3093.  
  3094.  
  3095.  
  3096.  
  3097.  
  3098.  
  3099.                                      - Page 47 -
  3100.  
  3101.  
  3102.  
  3103.  
  3104.  
  3105.  
  3106.  
  3107.                                      Appendix D
  3108.  
  3109.  
  3110.                                       INIT
  3111.  
  3112.  
  3113.       The INIT command allows the user to perform system administration
  3114.       functions.  These functions provide a measure of system control and
  3115.       are not needed for day to day activities.
  3116.  
  3117.       To invoke this system administration function, add the following
  3118.       command to the [GetEnv] section of your FOXPRO.INI file:
  3119.  
  3120.                 INIT=YES
  3121.  
  3122.       When you run application again, you will notice new options.  If you
  3123.       are running on a network, an option M will appear on the main menu.
  3124.       Option 'M' allows you to toggle between Multi-user and single-user
  3125.       modes.  Some system administration functions can only be provided in
  3126.       single-user mode.
  3127.  
  3128.       In addition, an option B will appear in the utility menu.  This
  3129.       option allows you the purged out entire database files.
  3130.  
  3131.  
  3132.                                       LAST
  3133.  
  3134.  
  3135.       This application normally resets all browse sessions.  The browse
  3136.       layout, however, can be saved by adding the following command to your
  3137.       [GetEnv] section of the FOXPRO.INI file:
  3138.  
  3139.                 LAST=YES
  3140.  
  3141.       With this command, fields may be moved around or resized.  Partitions
  3142.       may be split or separated.  All these preferences will be saved and
  3143.       will be in effect the next time you perform the browse.
  3144.  
  3145.  
  3146.                                       MULT
  3147.  
  3148.  
  3149.       This application normally comes up in single user mode.  To make it
  3150.       wake up in Multi-user mode, add the following command to your
  3151.       [GetEnv] section of the FOXPRO.INI file:
  3152.  
  3153.                 MULT=YES
  3154.  
  3155.  
  3156.  
  3157.  
  3158.  
  3159.  
  3160.  
  3161.  
  3162.  
  3163.  
  3164.  
  3165.                                      - Page 48 -
  3166.  
  3167.  
  3168.  
  3169.  
  3170.  
  3171.  
  3172.  
  3173.                                      Appendix D
  3174.  
  3175.  
  3176.                                       PROG
  3177.  
  3178.  
  3179.       All application program files and all data dictionary files are
  3180.       assumed in the current directory unless the FOXPRO.INI command PROG
  3181.       is specified.  Example:
  3182.  
  3183.                 PROG=D:\PROG\
  3184.  
  3185.       Note: Program files include *.PRG, *.FXP, and SCR.*.
  3186.  
  3187.  
  3188.                                      RECALL
  3189.  
  3190.  
  3191.       The application normally reuses deleted records.  That is, deleted
  3192.       records are blanked out to be reused the next time you add a record.
  3193.       You can recall deleted records with the following FOXPRO.INI command:
  3194.  
  3195.                 RECALL=YES
  3196.  
  3197.       When recall is in effect, deleted records are not blanked out.  You
  3198.       will be provided with an extra recall option on all editors.  Like
  3199.       the find option, recall prompts the user for a record.  If the
  3200.       deleted record is found, it becomes active again.
  3201.  
  3202.       Note:  If the current database has a deleted() index, deleted records
  3203.       are NEVER blanked out.  When recall is in effect, you will be
  3204.       presented with a browse of all deleted records.  Select the desired
  3205.       record and press [Enter].
  3206.  
  3207.  
  3208.                                      SYSMENU
  3209.  
  3210.  
  3211.       In Foxpro for DOS, the system menu is normally hidden.  You must
  3212.       press the [Alt] key to wake it up.  You can have the system menu
  3213.       always displayed with the following FOXPRO.INI command:
  3214.  
  3215.                 SYSMENU=SHOW
  3216.  
  3217.  
  3218.       In Foxpro for Windows, the system menu is normally displayed.  You
  3219.       can have the system menu hidden with the following FOXPRO.INI
  3220.       command:
  3221.  
  3222.                 SYSMENU=HIDDEN
  3223.  
  3224.  
  3225.  
  3226.  
  3227.  
  3228.  
  3229.  
  3230.  
  3231.                                      - Page 49 -
  3232.  
  3233.  
  3234.  
  3235.  
  3236.  
  3237.  
  3238.  
  3239.                                      Appendix D
  3240.  
  3241.  
  3242.                                       TEMP
  3243.  
  3244.  
  3245.       All temporary files are assumed in the current directory unless the
  3246.       FOXPRO.INI command TEMP is specified.  Example:
  3247.  
  3248.                 TEMP=C:\TEMP
  3249.  
  3250.       If you have a large enough ramdisk, setting TEMP to the ramdisk
  3251.       should improve performance.
  3252.  
  3253.       Note:  DOS environment variables take precedent over [GetEnv]
  3254.       commands.  That is, a DOS environment variable TEMP is used before a
  3255.       [GetEnv] command TEMP.
  3256.  
  3257.  
  3258.                                       TERM
  3259.  
  3260.  
  3261.       In the very near future, Foxpro will be available for many different
  3262.       systems.  To remain compatible, the FOXPRO.INI command TERM was
  3263.       created.  If TERM does not exist, or if TERM is equal to ANSI, then
  3264.       the system is considered 100% ANSI compatible.  That is, function
  3265.       keys [F1]-[F10] exist, [Esc] exists, and the ability to use a mouse
  3266.       exists.  Example:
  3267.  
  3268.                 TERM=ANSI
  3269.  
  3270.  
  3271.  
  3272.  
  3273.  
  3274.  
  3275.  
  3276.  
  3277.  
  3278.  
  3279.  
  3280.  
  3281.  
  3282.  
  3283.  
  3284.  
  3285.  
  3286.  
  3287.  
  3288.  
  3289.  
  3290.  
  3291.  
  3292.  
  3293.  
  3294.  
  3295.  
  3296.  
  3297.                                      - Page 50 -
  3298.  
  3299.  
  3300.  
  3301.  
  3302.  
  3303.  
  3304.  
  3305.                                      Appendix D
  3306.  
  3307.  
  3308.       The file CONFIG.FP stores commands to configure Foxpro.  The [GetEnv]
  3309.       section of the file FOXPRO.INI stores commands to configure this
  3310.       application.  Other resource directory files include FOXUSER.*, *.MEM
  3311.       files, and Q*.* files.  The following describe each of these files:
  3312.  
  3313.  
  3314.                                    FOXUSER.DBF
  3315.  
  3316.  
  3317.       The Foxpro resource file (FOXUSER.DBF) stores all the attributes of
  3318.       the user.  What color sets the user desires and how to display browse
  3319.       windows.  It also stores certain preferences required by this
  3320.       application.  For instance, all files with a "TMP" extension should
  3321.       have word wrap enabled and backup disabled.  All files with a "TXT"
  3322.       extension should have word wrap disabled and backup disabled.
  3323.  
  3324.       The Foxpro resource file stores all the color sets available to
  3325.       Foxpro.  If you wish to improve the appearance of your menus, make
  3326.       sure "enabled opt." in your user menu (color set 2) is set to the
  3327.       same color as your "@ SAY".
  3328.  
  3329.       Note:  Foxpro for windows use the default color set "FOXDEF".  All
  3330.       other versions of Foxpro use the default color set "DEFAULT".
  3331.  
  3332.  
  3333.                                   FOXUSER2.DBF
  3334.  
  3335.  
  3336.       The second Foxpro resource file (FOXUSER2.DBF) has the same file
  3337.       structure as the Foxpro resource file (FOXUSER.DBF).  Unlike
  3338.       FOXUSER.DBF, however, color sets stored in the memo field 'DATA' are
  3339.       in ASCII text.
  3340.  
  3341.       The text layout is simple.  Twelve lines for the twelve color schemes
  3342.       used by this application.  Each line contain ten color pairs.  A
  3343.       color pair "W*/B+", for example, would denote a white foreground,
  3344.       blue background ("*" denotes blinking and "+" denotes intensity).
  3345.       For a description of color pairs used within a scheme, check the
  3346.       color picker portion of the Foxpro manual.
  3347.  
  3348.       Note:  As long as the field 'UPDATED' has a more recent date, the
  3349.       color set from FOXUSER2.DBF will override the color set found in
  3350.       FOXUSER.DBF.
  3351.  
  3352.  
  3353.  
  3354.  
  3355.  
  3356.  
  3357.  
  3358.  
  3359.  
  3360.  
  3361.  
  3362.  
  3363.                                      - Page 51 -
  3364.  
  3365.  
  3366.  
  3367.  
  3368.  
  3369.  
  3370.  
  3371.                                      Appendix D
  3372.  
  3373.  
  3374.                                   Printer Codes
  3375.  
  3376.  
  3377.       Printer codes are maintained by the system setup menu and are stored
  3378.       in a ???SYS.MEM memory file.  This memory file is stored in user's
  3379.       resource directory.
  3380.  
  3381.       On a network, each user will have his/her own set of printer codes.
  3382.       To retain a common set of printer codes, allow one user to maintain
  3383.       printer codes in the data directory (see DATA).  Then, simply delete
  3384.       ???SYS.MEM files from each user's resource directory.  Each user will
  3385.       get a fresh copy of printer codes, from the data directory, the next
  3386.       time they run the application.
  3387.  
  3388.  
  3389.                                  Record Filters
  3390.  
  3391.  
  3392.       Record filter files belong, and are maintained, by the expression
  3393.       builder.  These include Q*.DBF, Q*.FPT, Q*.CDX.  Record filters are
  3394.       stored in the user's resource directory.
  3395.  
  3396.       On a network, each user will have his/her own set of record filters.
  3397.       To retain a common set of record filters, allow one user to maintain
  3398.       record filters in the data directory (see DATA).  Then, simply delete
  3399.       all Q*.* files from each user's resource directory.  Each user will
  3400.       get a fresh copy of record filters, from the data directory, the next
  3401.       time they run the expression builder.
  3402.  
  3403.  
  3404.                               Configuring Sideways
  3405.  
  3406.  
  3407.       If you are using the sideways utility from Funk software, there are a
  3408.       couple of steps necessary configure it.  First, you can select the
  3409.       desired printer by running SWSETUP.COM.  This utility will modify
  3410.       SIDEWAYS.COM.  After selecting the desired printer, copy SIDEWAYS.COM
  3411.       to the user's resource directory.
  3412.  
  3413.       Note:  If you ever want to know where your resource directory is
  3414.       located, select the option "all about.." in the system setup menu.
  3415.  
  3416.       If you need to modify the font proportions, go into your resource
  3417.       directory and run SIDEWAYS.COM (no parameters).  A screen will
  3418.       appear, displaying all the current setup values.  Adjust these values
  3419.       and press [F9] to create the default file, SIDEWAYS.DFT.
  3420.  
  3421.       Note:  If you change your resource directory, create a new
  3422.       SIDEWAYS.DFT.  Among other things, this file contains it's own
  3423.       location.  Moving an DFT file can result in a "file not found" error
  3424.       message.
  3425.  
  3426.  
  3427.  
  3428.  
  3429.                                      - Page 52 -
  3430.  
  3431.  
  3432.  
  3433.  
  3434.  
  3435.  
  3436.  
  3437.                                       GLOSSARY
  3438.  
  3439.  
  3440.       ANSI  -  American National Standards Institute.  A standard for both
  3441.            screen output and keyboard input.
  3442.  
  3443.       Arrow Keys  -  Equivalent to cursor keys.  Those keys on the keyboard
  3444.            labeled with arrows.
  3445.  
  3446.       ASCII  -  American Standard Code for Information Interchange.  A
  3447.            standard 7 bit code used to represent data.
  3448.  
  3449.       Batch File  -  A file containing multiple DOS commands.  These
  3450.            commands are executed by DOS, one at a time, as if typed by the
  3451.            user.
  3452.  
  3453.       Byte  -  A unit of information.  In text form, equivalent to an ASCII
  3454.            character.
  3455.  
  3456.       Code  -  Program code.  Another way of saying program instructions.
  3457.  
  3458.       Compiler  -  A program that converts program code from one form to
  3459.            another, usually more primitive, form.  The converted code is
  3460.            then ready for execution.
  3461.  
  3462.       CONFIG.FP  -  The Foxpro configuration file.  This file tells Foxpro
  3463.            where is find the resource file.  On a network, there is a one
  3464.            copy for each Foxpro user.
  3465.  
  3466.       CONFIG.FPM  -  The Foxpro for Macintosh configuration file.
  3467.  
  3468.       CONFIG.FPW  -  The Foxpro for windows configuration file.
  3469.  
  3470.       Cursor  -  A flashing character on the screen.  It indicates where
  3471.            typed text will be next placed.
  3472.  
  3473.       Cursor Keys  -  Equivalent to arrow keys.  Those keys on the keyboard
  3474.            labeled with arrows.
  3475.  
  3476.       Data Dictionary  -  A database file that defines the input/output to
  3477.            database files in an application.
  3478.  
  3479.       dBASE  -  Popular database management language.  The software package
  3480.            dBASE III+ is an interpreter for dBASE code.
  3481.  
  3482.       Disk  -  A unit where information is stored.  There are two major
  3483.            types: hard disk, and floppy disk.
  3484.  
  3485.       Disk Error  -  An error occurring when a program is unable to read or
  3486.            write properly to a disk.
  3487.  
  3488.       Diskspace  -  A unit of how much room is available on a drive.  It is
  3489.            usually measured in bytes.
  3490.  
  3491.       DOS  -  Disk Operating System.
  3492.  
  3493.  
  3494.  
  3495.                                      - Page 53 -
  3496.  
  3497.  
  3498.  
  3499.  
  3500.  
  3501.  
  3502.  
  3503.                                       GLOSSARY
  3504.  
  3505.  
  3506.       EMS  -  Refers to expanded memory.  Most 80286 computers have
  3507.            expanded memory.  80386 computers have extended memory.  There
  3508.            are, however, 80386 software drivers (QEMM for example), that
  3509.            can offer either extended or expanded memory.
  3510.  
  3511.       Extended  -  Extended memory.  80386 (or better) computers have
  3512.            extended memory.  The extended version of Foxpro needs at least
  3513.            three megabytes of extended memory.  The standard version of
  3514.            Foxpro requires expanded memory.
  3515.  
  3516.       Filespec  -  any DOS filename.ext including catalog names, passwords,
  3517.            etc.
  3518.  
  3519.       Floppy Disk  -  A self contained unit where information is stored.
  3520.            Depending on the type, floppy disks are easily transportable.
  3521.            Sometimes called a diskette.
  3522.  
  3523.       Foxbase  -   A dBASE III plus compatible language.
  3524.  
  3525.       Foxpro  -   A dBASE IV compatible language.
  3526.  
  3527.       FOXERR.DBF  -  The Foxpro error file.  Every major error event is
  3528.            recorded in this file.
  3529.  
  3530.       FOXUSER.DBF  -  The Foxpro resource file.  This file stores all the
  3531.            attributes of the user.  It also stores all the color sets
  3532.            available to Foxpro.  On a network, there is a one copy for each
  3533.            Foxpro user.
  3534.  
  3535.       Hard Disk  -  A self contained unit where information is stored.
  3536.            Usually not removable.
  3537.  
  3538.       HELP  -  A facility that provides on-line assistance in the use of a
  3539.            given program.
  3540.  
  3541.       Highlight  -  A form of a cursor, where an entire field is considered
  3542.            the cursor.
  3543.  
  3544.       Interpreter  -  A program that executes language code.  Whereas a
  3545.            compiler translates program code to executable code, an
  3546.            interpreter translates a single line of program code before
  3547.            executing it.
  3548.  
  3549.       Kilobyte  -  One kilobyte of memory equals 1,024 bytes.
  3550.  
  3551.       Megabyte  -  One megabyte of memory equals 1,024,000 bytes.
  3552.  
  3553.       Multi-user  -  When more one than one person is capable of
  3554.            accessing/updating the same database at the same time.
  3555.  
  3556.       MS-DOS  -  Microsoft Disk Operating System.
  3557.  
  3558.       Sideways  -  A DOS Utility that will print text up and down instead
  3559.            of across the paper.
  3560.  
  3561.                                      - Page 54 -
  3562.  
  3563.  
  3564.  
  3565.  
  3566.  
  3567.  
  3568.  
  3569.                                       GLOSSARY
  3570.  
  3571.  
  3572.  
  3573.       Source Code  -  What a translator/compiler takes in as input.
  3574.  
  3575.       Syntax  -  The rules for the arrangement of statements in a
  3576.            programming language
  3577.  
  3578.  
  3579.  
  3580.  
  3581.  
  3582.  
  3583.  
  3584.  
  3585.  
  3586.  
  3587.  
  3588.  
  3589.  
  3590.  
  3591.  
  3592.  
  3593.  
  3594.  
  3595.  
  3596.  
  3597.  
  3598.  
  3599.  
  3600.  
  3601.  
  3602.  
  3603.  
  3604.  
  3605.  
  3606.  
  3607.  
  3608.  
  3609.  
  3610.  
  3611.  
  3612.  
  3613.  
  3614.  
  3615.  
  3616.  
  3617.  
  3618.  
  3619.  
  3620.  
  3621.  
  3622.  
  3623.  
  3624.  
  3625.  
  3626.  
  3627.                                      - Page 55 -
  3628.  
  3629.  
  3630.  
  3631.  
  3632.  
  3633.  
  3634.  
  3635.                                         Index
  3636.  
  3637.  
  3638.       *.ESL  42                            Creating a Mailing List Record
  3639.       *.ESO  42                                9
  3640.       .BAT  38                             Creating a User Record  13
  3641.       .CDX  38                             Creating Sample Records  8
  3642.       .DBF  38                             Cursor  30, 53
  3643.       .FPT  38                             Cursor Keys  53
  3644.       .FXP  38                             Customer  26
  3645.       .PRG  38                             Customizing Color Sets  21
  3646.       [Alt]-[F4]  36                       DATA  46
  3647.       [Alt]-[F5]  36                       Data dictionary  38, 49, 53
  3648.       [Alt]-[V]  37                        DBASE  53
  3649.       [Ctrl]-[F4]  36                      DBASE IV  1
  3650.       [Ctrl]-[F5]  37                      Delete Function  10, 32
  3651.       [Ctrl]-[Home]  12, 31                Disk  53
  3652.       [Ctrl]-[J]  32                       Disk Error  53
  3653.       [Ctrl]-[N]  32                       Disk Space  40
  3654.       [Ctrl]-[T]  32                       Diskspace  53
  3655.       [Ctrl]-[Y]  32                       Display/Print Manual  22
  3656.       [End]  30                            DMAIL4  1, 5
  3657.       [Esc]  31                            DOS  5, 53
  3658.       [F1]  30                             Draft mode  20
  3659.       [F10]  32                            Edit User Descriptions  22
  3660.       [F4]  36                             Editor  5
  3661.       [F5]  37                             Employee  26
  3662.       [F7]  37                             EMS  42, 44, 54
  3663.       [Home]  30                           Expanded  44
  3664.       [Shift]-[TAB]  31                    Export Mailing List  23
  3665.       [TAB]  31                            Exporting Different Data
  3666.       Add Function  9, 30                      Structures  24
  3667.       Adding a Customer Record  11         Expression builder  5, 18
  3668.       All About...  22                     Extended  1, 44, 54
  3669.       ANSI  50, 53                         Filespec  54
  3670.       Appendix A  29                       Filter  17, 18
  3671.       Appendix A-1  36                     Find Function  10, 32
  3672.       Appendix B  38                       Floppy Disk  54
  3673.       Appendix C  40                       FONTNAME  47
  3674.       Appendix D  42                       FONTSIZE  47
  3675.       Arrow Keys  53                       FONTSTYLE  47
  3676.       ASCII  53                            Foxbase  54
  3677.       BACK  39                             FOXERR.DBF  22, 38, 41, 54
  3678.       Backup/Restore Data Files  39        Foxpro  1, 5, 54
  3679.       Batch File  53                       Foxpro Calculator  36
  3680.       Browse Function  10, 31              Foxpro Calendar  36
  3681.       Byte  53                             Foxpro DOS Shell  37
  3682.       Change Color Set  21                 Foxpro for DOS  37
  3683.       Check boxes  12, 17, 22, 26          Foxpro for windows  37, 44, 46,
  3684.       Code  53                                 47
  3685.       Compiler  53                         Foxpro runtime unit  7, 42
  3686.       CONFIG.FP  42, 43, 53                Foxpro runtime unit directory
  3687.       CONFIG.FPM  53                           42
  3688.       CONFIG.FPW  43, 44, 53               FOXPRO.INI  46
  3689.       Configuring Sideways  52             FOXR.EXE  42
  3690.       Copyright/License/Warranty  2        FOXRUN  42
  3691.                                            FOXRW.EXE  43
  3692.  
  3693.                                      - Page 56 -
  3694.  
  3695.  
  3696.  
  3697.  
  3698.  
  3699.  
  3700.  
  3701.                                         Index
  3702.  
  3703.  
  3704.       FOXSWAP.COM  42                      PROGWORK  44
  3705.       FOXUSER.DBF  21, 38, 51, 54          Purging Mailing List  27
  3706.       FOXUSER2.DBF  21, 51                 Q*.*  38
  3707.       GLOSSARY  53                         Quit  13, 16, 22
  3708.       Goto Function  10, 33                Quit Function  11, 35
  3709.       Hard Disk  54                        Quit to DOS  28
  3710.       HELP  54                             Ramdisk  50
  3711.       Help Function  11, 34                Rebuilding Indices  27
  3712.       Highlight  54                        RECALL  49
  3713.       Import Mailing List  25              Recall Function  35
  3714.       Importing Different Data             Record filter  5, 17, 18
  3715.           Structures  26                   Record Filters  52
  3716.       Importing SBT Records  26            Regular mode  20
  3717.       Index  56                            RESOURCE  45
  3718.       INIT  48                             Resource directory  42
  3719.       Initializing Databases  27           SBT  26
  3720.       Interpreter  54                      SCR.DBF  38
  3721.       Introduction  5                      Sideways  20, 54
  3722.       Invoking dMAIL4 System  7            SIDEWAYS.COM  52
  3723.       JKEY  32                             SIDEWAYS.DFT  52
  3724.       Kilobyte  54                         Source Code  55
  3725.       Laser Printers  37                   Straight lines per page  20
  3726.       LAST  48                             SWSETUP.COM  52
  3727.       LIM 4.0  44                          Syntax  55
  3728.       Macintosh  6                         Syntax Error  41
  3729.       MAIL.DBF  38                         Sysmenu  36, 49
  3730.       Mailing Labels  21                   Sysmenu edit  36
  3731.       MAL  7                               System administration  48
  3732.       MALSYS.MEM  38                       System administrator  21, 37, 40
  3733.       MANUAL  38                           System Setup  17
  3734.       Megabyte  54                         TABLE OF CONTENTS  3
  3735.       Megabytes  1                         TEMP  50
  3736.       MEMLIMIT  44                         TERM  50
  3737.       Memo  12, 22, 38                     TIME  45
  3738.       MODE  40                             Toggle Index Function  11, 35
  3739.       MS-DOS  1, 54                        Toggle Order Function  11, 35
  3740.       MULT  48                             UNBACK  39
  3741.       Multi-user  19, 54                   Update Function  11, 35
  3742.       Multi-User Errors  41                USER.DBF  38
  3743.       Network  19, 42, 48                  Utilities  23
  3744.       Notation Conventions  6              Vendor  26
  3745.       P_CODES.DBF  19                      Video Mode  37
  3746.       Preface  1                           Wild-carding  32
  3747.       Print Mailing List  14               Window  5
  3748.       Print Mode  37
  3749.       Printer Codes  20, 38, 52
  3750.       Printer Control Codes  18
  3751.       Printer Device  19
  3752.       Printer Eject  37
  3753.       Printer Name  19
  3754.       Printer not Ready  40
  3755.       Printing Mailing Labels  14
  3756.       Problems & Suggestions  22
  3757.       PROG  49
  3758.  
  3759.                                      - Page 57 -
  3760.  
  3761.  
  3762.  
  3763.